微机原理实验讲义答案

发布 2022-09-04 22:50:28 阅读 8811

微机原理与接**术部分实验讲义答案。

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 实验要求。...