汇编基础知识,新学的汇编,下面的要表示求1 2=?动态输入并输出用1、2号功能有什么错误的地,请详细指出

[复制链接]
查看11 | 回复1 | 2011-4-19 11:17:44 | 显示全部楼层 |阅读模式
DATAS SEGMENT

x db ?

y db ?
DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:

MOV AX,DATAS

MOV DS,AX



mov ah,1

int 21h

mov x,al



mov ah,2

mov dl,x

int 21h



mov ah,2;换行

mov dl,0dh

int 21h

mov ah,2

mov dl,0ah

int 21h



mov ah,1

int 21h

mov y,al



mov ah,2

mov dl,y

int 21h



mov ah,2;换行

mov dl,0dh

int 21h

mov ah,2

mov dl,0ah

int 21h



mov dl,x

add dl,y

add dl,30h




mov ah,2

int 21h




MOV AH,4CH

INT 21H
CODES ENDS

END START
求指导,该改进什么,要去看什么知识点补充,先讲基础的错误不要太深,为什么结果总是一些没见过的符号,非常感谢
回复

使用道具 举报

千问 | 2011-4-19 11:17:44 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">;汇编基础知识,新学的汇编,下面的要表示求1 2=?动态输入并输出用1、2号功能有什么错误的地,请详细指出

;用MASM5.0编译通过,CTRL C结束程序 (两数和限于10以内)
;运行结果如下:
;E:\\masm1add2
;2 3=5
;2 1=3
;1 1=2
;5 4=9
;6 6=
;5 5=:
;5 5=:
;5 4=9
;4 3=7
;3 3=6
;2 2=4
;^C

DATAS SEGMENT

x db ?

y db ?
DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:

MOV AX,DATAS

MOV DS,AX

again:


mov ah,1

int 21h
sub al,30h;这里必须-30H将字符转换成数字

mov x,al



mov ah,2

mov dl,\' \'

int 21h




mov ah,1

int 21h
sub al,30h;这里必须-30H将字符转换成数字

mov y,al



mov ah,2

mov dl,\'=\'

int 21h





mov dl,x

add dl,y

add dl,30h




mov ah,2

int 21h


mov ah,2;换行

mov dl,0dh

int 21h

mov ah,2

mov dl,0ah

int 21h

jmp again


MOV AH,4CH

INT 21H
CODES ENDS

END START
;求指导,该改进什么,要去看什么知识点补充,先讲基础的错误不要太深,为什么结果总是一些没见过的符号,非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行