永发信息网

汇编问题求解!!!

答案:4  悬赏:50  手机版
解决时间 2021-04-22 22:01
要求用8086汇编语言求解:输入一个不大于9的数字N,输出N个B!!各位大虾帮忙了^
最佳答案
assume cs:code,ds:data
data segment
n db ?
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ah,1
int 21h
mov n,al
sub n,'0'
cmp n,9
ja lab
mov ch,0
mov cl,n
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
lop:
mov dl,'B'
mov ah,2
int 21h
loop lop
lab:
mov ah,4ch
int 21h
code ends
end start
全部回答

data segment n db ? ;定义一个字节变量 data ends code segment

assume cs:code,ds:data start:mov ax,data mov ds,ax mov ah,1 ;读取用户输入的一个字符 int 21h mov n,al sub n,'0' ;将字符转化为数值 cmp n,9 ja lab ;如果n的值大于9,跳转到程序尾,结束程序 mov ch,0 ;给cx赋值,存储重复执行的次数 mov cl,n mov dl,0ah ;打印回车换行符 mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h

lop: mov dl,'B' ;每次打印一个字符'B' mov ah,2 int 21h loop lop lab: mov ah,4ch ;结束程序 int 21h code ends end start

assume cs:code code segment start: mov ah, 1 ;1号功能调用从键盘接受一个输入 int 21h sub al, '0' ;减去'0'得到对应的数字表示 mov cl, al ;cl=循环次数 mov ah, 2 ;准备2号功能调用 mov dl, 'B' ;dl=待输出的字符 next: int 21h ;2号功能调用输出dl里的字符 loop next ;循环直至cl=0 mov ax, 4c00h ;程序结束 int 21h code ends end start
楼上回答已经比较完整啦,而且这种段定义格式比较适合初学者使用哩
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
引人注意的意思,引人注意的意思是什么
吃饭刷卡时好半天刷不上是磁性消失了么?怎么
我在常州城市工资没拿到怎么办
天空之城的小提琴独奏版乐谱
收到祝福回谢的话,今天结婚12年纪念日,想要
虎牛电器地址有知道的么?有点事想过去
手机副射伤害大吗?
如果把3GQQ关上,还可以上超级QQ吗?
apink退团的那个人是谁?
东芝本本的声音问题
施特德尔帝尔森家居订制馆地址有知道的么?有
我加了一个学校的校友,但如何加另一个学校的
怎么看是不是纯银的,在网上买的戒指怎么辨别
得了淋巴癌可以治好么
因为缘分相遇的诗句,缘分的句子大全
推荐资讯
初中学的诗词,初中学过哪些古诗词? 30分
这首纯音的名字叫什么?
海珠区新港街法律援助工作站地址有知道的么?
澳大利亚过境签证费用是多少钱
小腿酸疼,是怎么回事?有什么办法?
多喝水对人有什么好处,冬天应该多喝水吗?
驾照科一考试过关窍门
为什么有了QQ拼音我的搜狗拼音就调不出了?
赞美女儿懂事的句子,小女孩漂亮懂事的祝福语
我很希望能可以多认识一些异性的朋友,但自己
头发有头皮屑最好除去的办法是什么?
全网通手机卖场NO.XY012地址在什么地方,想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?