求救。。。汇编语言。。N多分枝、子程序我不会设计

qyj23560 2007-01-07 05:06:19
要求随便输入两个两位数,然后输入运算符,按回车得出结果。。
例如:79
65
+
答案:144

求各位帮小妹一下忙~~~!!!!N多感激
...全文
212 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyj23560 2007-01-08
  • 打赏
  • 举报
回复
stack segment para stack 'stack'
db 256 dup(00)
stack ends
data segment para stack 'data'
a db 'error!','$'
code segment para public 'code'
assume cs:code
main proc far
mov ax,data
mov ds,ax
mov dh,4


k7:
call getchar
mov bh,al
call getchar
mov ah,bh
call asctohex
mov bl,al
call getchar
mov cl,al
call getchar
mov bh,al
call getchar
mov ah,bh
call asctohex
mov bh,al
call getchar
mov al,bl
mov ah,0


cmp cl,'+'
jz k1
cmp cl,'-'
jz k2
cmp cl,'*'
jz k3
cmp cl,'/'
jz k4
lea dx,a
mov ah,09h
int 21h


k1:add al,bh
jmp k5
k2:sub al,bh
jmp k5
k3:mul bh
jmp k5
k4:div bh


k5:mov ch,al
mov al,ah
call hextoasc
mov dl,ah
call dispchar
mov dl,al
call dispchar
mov al,ch
call hextoasc
mov dl,ah
call dispchar
mov dl,al
call dispchar
mov dl,0dh
call dispchar
mov dl,0ah
call dispchar


dec dh
cmp dh,0
jz k6
jmp k7

k6:mov ah,4ch
int 21h
main endp
getchar proc near
mov ah,01h
int 21h
ret
getchar endp
asctohex proc near
cmp al,41h
jc asc1
sub al,07h
asc1:sub al,30h
cmp ah,41h
jc asc2
sub ah,07h
asc2:sub ah,30h
shl ah,1
shl ah,1
shl ah,1
shl ah,1
add al,ah
ret
asctohex endp
hextoasc proc near
mov ah,al
and al,0fh
cmp al,0ah
jc hex1
add al,07h
hex1:add al,30h
shr ah,1
shr ah,1
shr ah,1
shr ah,1
cmp ah,0ah
jc hex2
add ah,07h
hex2:add ah,30h
ret
hextoasc endp
dispchar proc near
push ax
mov ah,2
int 21h
pop ax
ret
dispchar endp
code ends
end main

看看这程序有什么问题?急电.....求救
qyj23560 2007-01-07
  • 打赏
  • 举报
回复
555555555~~~~~~~!!!
不会就问,好惨啊...学一点点入门就要设计这个了
火雲邪神 2007-01-07
  • 打赏
  • 举报
回复
為甚麼這麼多大學這麼喜歡問這條問題

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧