伊图丹莫刺尔:大家帮忙做一题汇编的简单题目

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 17:59:31
写出完成以下功能的程序:从键盘接收两个16进制数,比较它们的大小,在用大数减去小的数,然后将结果存入z变量,并输出到屏幕显示
急啊!!!!!!
一定要用汇编语言编啊
要其他高级语言那就是太简单的问题了

; 请连着输入两个四位16进制数
LF MACRO
MOV DL,0AH
MOV AH,2H
INT 21H
ENDM
CF MACRO
MOV DL,0DH
MOV AH,2H
INT 21H
ENDM
data segment
x dw ?
y dw ?
z dw ?
data ends
code segment
assume cs:code,ds:data
main proc far
start: mov ax,data
mov ds,ax

mov ch,4
xor dx,dx
inputx: mov ah,01
int 21h
cmp al,3ah
jl lita
add al,9
lita: and al,0fh
mov cl,4
shl dx,cl
or dl,al
dec ch
jnz inputx
mov [x],dx

LF
CF
mov ch,4
xor dx,dx
inputy: mov ah,01
int 21h
cmp al,3ah
jl litta
add al,9
litta: and al,0fh
and al,0fh
mov cl,4
shl dx,cl
or dl,al
dec ch
jnz inputy
mov [y],dx

mov bx,x
sub bx,y
jg disp
neg bx
disp: LF
CF
mov [z],bx
mov cl,4
mov ch,4

mymov: rol bx,cl
mov dl,bl
and dl,0fh
cmp dl,0ah
jl littla
add dl,7
littla: mov ah,02
add dl,30h
int 21h
dec ch
jnz mymov
mov AH,4CH ;返回DOS
int 21H
main endp
code ends
end start

设3个变量j和k和z
if j>k
z=j-k
else z=k-j
printf ("z" f%)

爱莫难助也是罪过啊!