微机原理与接**术部分实验讲义答案。
1、从键盘输入两个一位十进制数,计算这两个数之和,并将其结果在屏幕上显示出来。
答:datasegment
infor1 db ‘please input the first data(<10):$
infor2dboah,0dh,’pleaseinputtheseconddata(<10):$
infor3 db 0ah,0dh,’the result is:$’
dataendscodesegment
assume cs:code,ds:data
start:movax,data
movds,axmovdx,offsetinfor1movah,09h
int21hmovah,01h
int21h
subal,30h
movbl,almovdx,offsetinfor2movah,09h
int21hmovah,01h
subal,30h
xorah,ahaddal,blaaapushaxmovdx,offsetinfor3movah,09h
int21h
popaxpushaxmovdl,ah
adddl,30hmovah,02hint21hpopaxmovdl,al
adddl,30hmovah,02hint21hmov ah,4chint 21h
codeends
end start
2、从键盘输入一字符,判断该字母是小写字母、大写字母、数字或是其他字符。若输入为小写字母,则显示“youinputalowercaseletter!”;若。
输入是大写字母,则显示“youinputauppercaseletter!”。若输入为数字,则显示“youinputadigit!
”若输入为数字,则显示“youinputotherletter!”。
datasegment
infor1db0ah,0dh,“pleasepressanykeytoinputa
letter:$”
infor2db 0ah,0dh,“you input a lowercase letter! $infor3db0ah,0dh,“youinputauppercase
letter !$
infor4db 0ah,0dh,“you input a digit! $infor5db 0ah,0dh,“you inputotherletter! $
dataendscodesegment
assume cs:code,ds:data
start:movax,data
movds,ax
movdx,offsetinfor1movah,09h
int21h
movah,01h
int21h
cmpal,’0’jb
othercmpal,’9’jbe
digitcmpal,’a’jb
othercmpal,’z’jbe
uppercmpal,’a’jbothercmpal,’z’
jbelowerjmppendlower:
movdx,offsetmovah,09h
int21hjmppendupper:
movdx,offsetmovah,09h
int21hjmppenddigit:
movdx,offsetmovah,09h
int21hjmppendother:
infor2
infor3
infor4
movdx,offsetinfor5
movah,09h
int21h
pend:movah,4ch
int21h
codeends
endstart
3、在屏幕上显示如下信息:
1panda2cat3rabbit4pig5exit(please choose 1,2,3,4 or 5)
若输入1,则显示“i like pande”后程序结束;若输入2,则显示“ilike cat”后程序结束;若输入3,则显示“i like rabbit”后程序结束;若输入4,则显示“i don‘t like pig”后程序结束;若输入5,则程序直接结束;若输入其他字符,则显示“you press an error key !”后程序结束。datasegment
infor1db 0ah,0dhpanda
infor2db 0ah,0dhcat$”
infor3db0ah,0dh
rabbit$”
infor4db 0ah,0dh
pig $”
infor5db 0ah,0dh,“you press an error key !
dataendscodesegment
assume cs:code,ds:data
start:movax,data
movds,ax
movah,01h
int21h
cmpal,’1’
jzpanadacmpal,’2’jz
catcmpal,’3’jz
rabbit
cmpal,’4’jz
pigcmpal,’5’jz
pendmovdx,offsetinfor5movah,09h
int 21hjmppend
panada:
movdx,offsetinfor1
movah,09h
int21hjmppend
cat:movdx,offsetinfor3
movah,09h
int21hjmppend
rabbit:
movdx,offsetinfor4
movah,09h
int21hjmppend
pig:movdx,offsetinfor5
movah,09h
int21h
pend:movah,4ch
int21h
codeends
endstart
4、在屏幕上显示信息“are you really want to exit?”,然后从键盘输入一个字符。若输入“y”或“y”,则显示“thank you for your using!
”后程序结束;若输入“n”或“n”,则显示“let‘scontinue!”后程序结束;若输入其他字符,则显示“you press an error key!”后程序结束。
datasegment
infor1db 0ah,0dh,“are you really want to exit?$”
infor2db 0ah,0dh,thank you for your using! $infor3db 0ah,0dh,“let‘s continue!$”infor4db 0ah,0dh,“you press an error key!
$”dataendscodesegment
assume cs:code,ds:datastart:movax,data
movds,ax
movdx,offset infor1movah,09hint 21hmovah,01h
int21h
cmpal,’y’jztk1cmpal,’y’jz
tk1cmpal,’n’jz
lt1cmpal,’n’jz
lt1movdx,offsetinfor4movah,09h
int 21hjmppend
tk1:movdx,offsetinfor2
movah,09h
int21hjmppend
lt1:movdx,offsetinfor3
movah,09h
int21h
pend:movah,4ch
int21h
codeends
endstart
5、计算1+2+3+4…+n=?,其中n通过键盘输入的数字,累加和小于216。要求在屏幕上提供如下信息:
please input a number(1~361);出现此信息后通过键盘输入一个。
1~511的无符号整。
数,使累加和小于一个16位无符号二进制数所能表;示的范围。
1+2+…n=sum;其中n为用户输入的数,sun为所求累加和。
datasegment
inf1db“please input a number(0-65535):$ibufdb7,0,6 dup(?)obufdb6 dup(?)
dataendscodesegment
assume cs:code,ds:data
start:movax,data
movds,ax
movdx,offset inf1movah,09hint21hmovdx,offsetibufmovah,oahint21hmovcl,ibuf+1
movch,0movsi,offset ibuf+2
高位)movax,0again:movdx,10
muldxandbyte ptr[si],0fhaddal,[si]adcah,0
键入一个十进制数(<512)十进制数的位数送cx指向输入的第一个字符(最。
incsiloopagain
movcx,axmovax,0movbx,1
loop2:addax,bx
incbxlooploop2movbx,offsetobuf+5
movbyte ptr[bx],‘movcx,10
loop1:movdx,0
divcxadddl,30hdecbx
mov[bx],dlorax,axjnzloop1movdx,bxmovah,09hint21hmovah,4chint21h
codeends
endstart
微机原理实验答案
1 题目 编程将 ax 2387 bx 192fh cx 9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。code segment assume cs code start mov ax,2387 mov bx,192fh mov cx,9256 cmp ax,...
微机原理实验
一 实验目的。通过本节课的实验,让学生理解和掌握循环程序运行和设计原理,理解构成循环程序的指令功能,特别是对转移指令 循环计数的深入理解,并掌握一些常用循环程序设计的算法。二 实验内容。实验内容一 bios显示中断调用 int 10h 调用步骤 第一步 置入口参数。第二步 功能号 0至15 送ah ...
微机原理实验
学生实验报告。学院 软件与通信工程学院 课程名称 微机原理与接 术 专业班级 电信141班。姓名。学号。学生实验报告 1 一 实验综述。1 实验目的及要求。1 实验目的 1 加深对锁存器和缓冲器的基本原理的了解 2 掌握i o口编程的基本方法 3 掌握基本i o口的扩展方法及编程方法。2 实验要求。...