此的Keil uVision程序應該加載一個正整數ASCII數字(例如1234)。該方案應該將其轉換爲BCD碼數字在註冊R1,並在註冊2十六進制數... 有人可以解釋我下面做什麼的? 尤其:的Keil:彙編程序,ASCII號碼轉換成BCD和HEX
MOV R4,#10
和
AND R1,R3,#0xF
MLA R2,R4,R2,R3
??? 這裏是程序:
LDR R0, =Wert ; Pointer laden
LDR R1,[R0]
BL KONVERT ; Unterprogramm KONVERT aufrufen
endlos B endlos
KONVERT
LDRB R3,[R0],#1 ; Byte laden
AND R1,R3,#0xF ; ASCII-HEX-Wandlung
MOV R2,R1 ; HEX-Zahl
MOV R4,#10
LDRB R3,[R0],#1 ; nächstes laden
AND R3,R3,#0xF ; ASCII-Hex-Wandlung
ORR R1,R3,R1,LSL #4 ; BCD-Wert bilden
MLA R2,R4,R2,R3 ; HEX-Zahl
LDRB R3,[R0],#1 ; nächstes laden
AND R3,R3,#0xF ; ASCII-Hex-Wandlung
ORR R1,R3,R1,LSL #4 ; BCD-Wert bilden
MLA R2,R4,R2,R3 ; HEX-Zahl
LDRB R3,[R0],#1 ; nächstes laden
AND R3,R3,#0xF ; ASCII-Hex-Wandlung
ORR R1,R3,R1,LSL #4 ; BCD-Wert bilden
MLA R2,R4,R2,R3 ; HEX-Zahl
BX LR ; Rücksprung
I'T相當有據可查的,所以問題出在哪裏? – Devolus
如果您不懂德語,可以使用http://translate.google.com/。 – nrz
MOV R4,#10沒有記錄,並且謝謝你沒有幫助.. – user2774480