小学真题汇编
st1 db 64 dup(?)
堆栈结束
数据段
num equ 6;位数(最好是偶数)。如果是奇数,就需要稍微改一下程序。
msg1 db '输入第一个数字(ESC退出) : ',' $ '
' msg2 db '输入第二个数字(ESC退出) : ',' $ '
msg3 db 0dh,0ah,'错误!再次输入(ESC退出) : ',' $ '
num 1 db num dup(0);保存第一个号码
num 2 db num dup(0);保存第二个号码
res db 0dh,0ah,'结果是: ',' $ '
数据结束
输出宏abyt
推斧
mov dl,abyt
mov ah,02h
int 21h
爆破筒
endm
代码段
假设ss:堆栈,ds:数据,cs:代码
主进程远
移动轴,数据
移动ds,ax
再次重申:
lea dx,msg1
mov ah,09h
int 21h;提示输出第一个数字
lea bx,num1
呼叫输入;呼叫输入
输出0dh输入新的一行
输出0ah
lea dx,msg2
mov ah,09h
int 21h;提示输入第二个数字
lea bx,num2
呼叫输入
输出0dh输入新的一行
输出0ah
mov si,0;SI清除
移动轴,0
L2: lea bx,num 1;阅读第一系列
mov al,[bx][si]
加亚尔,啊
mov ah,0
lea bx,num2
添加al,[bx][si];阅读第二系列
aaaBCD校正
加入铝,30h变成ASCII码
电影cl,al
公司si
lea bx,num1
mov al,[bx][si];第二系列
加亚尔,啊
mov ah,0
lea bx,num2
添加al,[bx][si]
美国汽车协会
添加铝,30h
电影频道
推CX;结果被放入堆栈,等待输出。
公司si
cmp si,编号-1;循环,读出所有的数字
jb l2
电影频道,啊
lea dx水库
mov ah,09h
int 21h
添加通道,30h
输出通道
移动al,0
outl:;输出结果循环
流行cx
输出通道
输出cl
inc al
化学机械抛光铝,数量/2
jb outl
退出:;放弃
mov ah,4ch
int 21h
主端
输入过程接近;输入过程
开始:
移动di,数字
l1:
mov ah,01H;投入
int 21h
cmp al,1bh;ESC退出
jz不干了
化学机械抛光铝,30小时;(数字)?继续:退出
jb误差
化学机械抛光铝,40小时
ja误差
sub al,30h
十二月二日
mov [bx][di],al;存款数据
cmp di,0
ja l 1;传播
浸水使柔软
错误:;输入错误分支
lea dx,msg3
mov ah,09h
int 21h
移动di,数字
jmp开始
输入端
代码结束
末端总管
哈哈!我是学汇编的,这是我刚做完的作业!8086编译应该是楼主想要的。