概述
DATAS SEGMENT
a1 db ?
a2 db ?
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
A: mov ah,1
int 21h
mov bl,al
sub bl,30h
mov ah,1
int 21h
sub al,30h
mov bh,al
mov al,10
mov cl,bl
mul cl;al*cl->ax 这里只取al就行
add al,bh;十位+个位
mov a1,al
mov ah,2
mov dl,'-'
int 21h
mov ah,1
int 21h
mov bl,al
sub bl,30h
mov ah,1
int 21h
sub al,30h
mov bh,al
mov al,10
mov cl,bl
mul cl;al*cl->ax 这里只取al就行
add al,bh;十位+个位
mov a2,al
cmp a1,al
jb K
mov al,a1
sub al,a2
mov ah,0
mov cl,10
div cl
mov bh,ah;bh个位已经算出
mov ah,0;看看十位al
div cl
mov dl,0
;只考虑余数ah
cmp dl,ah
jb T
JMP F
T:mov bl,ah
add bx,3030h
mov ah,2
mov dl,'='
int 21h
mov ah,2
mov dl,bl
int 21h
mov ah,2
mov dl,bh
int 21h
mov ah,2
mov dl,13
int 21h
mov ah,2
mov dl,10
int 21h
JMP A
F:add bh,30h
mov ah,2
mov dl,'='
int 21h
mov ah,2
mov dl,bh
int 21h
mov ah,2
mov dl,13
int 21h
mov ah,2
mov dl,10
int 21h
JMP A
k:mov cl,a1
mov dl,a2
mov a2,cl
mov a1,dl
mov al,a1
sub al,a2
mov ah,0
mov cl,10
div cl
mov bh,ah;bh个位已经算出
mov ah,0;看看十位al
div cl
mov dl,0
;只考虑余数ah
cmp dl,ah
jb M
JMP N
M:mov bl,ah
add bx,3030h
mov ah,2
mov dl,'='
int 21h
mov ah,2
mov dl,'-'
int 21h
mov ah,2
mov dl,bl
int 21h
mov ah,2
mov dl,bh
int 21h
mov ah,2
mov dl,13
int 21h
mov ah,2
mov dl,10
int 21h
JMP A
N:add bh,30h
mov ah,2
mov dl,'='
int 21h
mov ah,2
mov dl,'-'
int 21h
mov ah,2
mov dl,bh
int 21h
mov ah,2
mov dl,13
int 21h
mov ah,2
mov dl,10
int 21h
JMP A
MOV AH,4CH
INT 21H
CODES ENDS
END START
最后
以上就是顺利月饼为你收集整理的汇编语言-两位数减法(优化版)十位、个位、负数的全部内容,希望文章能够帮你解决汇编语言-两位数减法(优化版)十位、个位、负数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复