一位的我知道,减去30H就行了,可是2位究竟怎么做呢?????????????????
二位就 十位的*10+个位啊
二位就 十位的*10+个位啊
楼上的大哥:你的这中2位的方法很好,受教了,但更多位的数值呢
如1234:
1
1*10
1*10+2
(1*10+2)*10+3
((1*10+2)*10+3)*10+4
另一种:
4*10
3*10*10
2*10*10*10
1*10*10*10*10
你还有更好的方法吗?
谢谢了!!!!多亏了帮忙啊!
谁能帮我解决一下这几个汇编的题目1.(12分)已知某数据段的定义如下,画出变量在内存中的存储情况
DSEG SEGMENT
X1 DB 0,’1’,-1,31H
X2 DW 10,’ABCD’
X3 DW X2
DSEG ENDS
2.(10分)假如在程序的括号中分别填入指令: LOOP L20
试说明程序执行完后AX,BX,CX,DX四个寄存器的内容分别是什么?
CSEG SEGMENT
ASSUME CS:CSEG
BEGIN: MOV AX,01H
MOV BX,02H
MOV DX,0AH
MOV CX,03H
L20: INC AX
ADD BX,AX
SHR DX,1
( )
MOV AH,4CH
INT 21H
CSEG ENDS
END BEGIN
3.(10分)根据给定功能,填写方框中的指令。
1 X>1
以下程序实现Y= X -1≤X≤1
-1 x<-1
DATA SEGMENT
X DB ?
Y DB ?
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV AL,X
JG NEXT1
CMP AL,-1
MOV Y,AL
NEXT1: MOV Y,1
JMP EXIT
NEXT2: MOV Y,-1
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
4.(10分)用非压缩BCD码,实现23+15的运算。试编写程序。