微机原理与接口技术课后习题答案完整版_第1页
微机原理与接口技术课后习题答案完整版_第2页
微机原理与接口技术课后习题答案完整版_第3页
微机原理与接口技术课后习题答案完整版_第4页
微机原理与接口技术课后习题答案完整版_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术(其次版)清华高校出版社习题11. 什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的运算机能直接识别和执行的一种机器指令的集合;汇编语言是面对及其的程序设计语言; 在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码; 这种用符号代替机器语言的二进制码, 就把机器语言编程了汇编语言;使用汇编语言编写的程序,机器不能直接识别, 要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序;2. 微型运算机系统有哪些特点?具有这些特点的根本缘由是什么?答:微型运算机的特点:功能强,牢靠性高,价格低廉,适应性强、系统设计敏捷,周期短、见效快,体

2、积小、重量轻、耗电省,爱护便利;这些特点是由于微型运算机广泛采纳了集成度相当高的器件和部件,建立在微细加工工艺基础之上;3. 微型运算机系统由哪些功能部件组成?试说明 “储备程序掌握 ”的概念;答:微型运算机系统的硬件主要由运算器、掌握器、储备器、输入设备和输出设备组成;“储备程序掌握”的概念可简要地概括为以下几点:运算机(指硬件)应由运算器、储备器、掌握器和输入/输出设备五大基本部件组成;在运算机内部采纳二进制来表示程序和数据;将编好的程序和原始数据事先存入储备器中,然后再启动运算机工作, 使运算机在不需要人工干预的情形下,自动、高速的从储备器中取出指令加以执行,这就是储备程序的基本含义;五

3、大部件以运算器为中心进行组织;4. 请说明微型运算机系统的工作过程;答:微型运算机的基本工作过程是执行程序的过程,也就是cpu 自动从程序存1微机原理与接口技术(其次版)清华高校出版社放的第 1 个储备单元起, 逐步取出指令、 分析指令, 并依据指令规定的操作类型和操作对象,执行指令规定的相关操作;如此重复,周而复始,直至执行完程序的全部指令,从而实现程序的基本功能;5. 试说明微处理器字长的意义;答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数;它打算着运算机内部寄存器、alu和数据总线的位数,反映了一台运算机的运算 精度,直接影响着机器的硬件规模和造价;运算机的字长越大,

4、其性能越优越;在完成同样精度的运算时, 字长较长的微处理器比字长较短的微处理器运算速度快;6. 微机系统中采纳的总线结构有几种类型?各有什么特点?答:微机主板常用总线有系统总线、i/o 总线、isa 总线、ipci 总线、agp 总线、ieee1394 总线、 usb 总线等类型;7. 将以下十进制数转换成二进制数、八进制数、十六进制数;( 4.75)10=(0100.11) 2=(4.6)8=( 4.c) 16( 2.25)10=(10.01)2=(2.2) 8=(2.8)16( 1.875) 10=( 1.111)2=(1.7)8=( 1.e)168. 将以下二进制数转换成十进制数;( 1

5、011.011) 2=(11.6) 10( 1101.01011)2=(13.58) 10( 111.001)2=( 7.2)109. 将以下十进制数转换成8421bcd 码; 2006=( 0010 0000 0000 0110)bcd 123.456=(0001 0010 0011.0100 0101 011)0bcd10. 求以下带符号十进制数的8 位基 2 码补码; +127补= 011111112微机原理与接口技术(其次版)清华高校出版社 -1 补 = 11111111 -128补= 10000000 +1 补= 0000000111. 求以下带符号十进制数的16 位基 2 码补码;

6、 +655补= 0000001010001111 -1 补 =1111111111111110 -3212补=1111011101011100 +100补=00000000011001003微机原理与接口技术(其次版)清华高校出版社习题21. 8086 cpu 在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 cpu 内部由两大独立功能部件构成,分别是执行部件和总线接口部件;执行部件负责进行全部指令的说明和执行,同时治理有关的寄存器;总 线接口部件是cpu 在储备器和i/o 设备之间的接口部件,负责对全部引脚的操作;2. 简述 8086 cpu 的寄存器组织;答:8086 cpu

7、内部共有 14 个 16 位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和掌握寄存器;数据寄存器包括累加器,基址 寄存器,计数器,和数据寄存器;段寄存器用来存放各分段的规律段基值, 并指示当前正在使用的4 个规律段;地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算;掌握寄存器包括指令寄存器和标识寄存器;3. 试述 8086 cpu 标志寄存器各位的含义与作用;答:标志寄存器是16 位的寄存器,但实际上8086 只用到 9 位,其中的6 位是状态标识位, 3 位是掌握标识位;状态标志位分别是cf,pf, af ,zf, sf,和 of;掌握标志位包括df

8、, if, tf; cf:进位标志位;算数运算指令执行后,如运算结果的最高位产生进位或借位,就 cf=1,否就 cf=0;pf:奇偶标志位;反应运算结果中1 的个数是偶数仍是奇数;如运算结果的低 8 位中含有偶数个1,就 pf=1;否就 pf=0.af:帮助进位标志;算数运算指令执行后,如运算结果的低4 位向高 4 位产生进位或借位,就af=1;否就 af=0.zf:零标志位;如指令运算结果为0,就 zf=1;否就 zf=0; sf:符号标志位;它与运算结果最高位相同; of:溢出标志位;当补码运算有溢出时,of=1;否就 of=0; df:方向标志位;用于串操作指令,指令字符串处理时的方向;

9、 if:中断答应标志位;用来掌握8086 是否答应接收外部中断恳求;4微机原理与接口技术(其次版)清华高校出版社tf:单步标志位;它是为调试程序而设定的陷阱掌握位;4. 8086 cpu状态标志和掌握标志有何不同?程序中是怎样利用这两类标识的? 8086 的状态标志和掌握标识分别有哪些?答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序掌握转 移与否的依据;它们分别是cf, pf,af ,zf,sf,和of;掌握标志位用来掌握 cpu 的操作,由指令进行置位和复位,掌握标志位包括df,if,tf;5. 将 1001 1100和 1110 0101相加后,标识寄存器中cf, pf, a

10、f, zf, sf, of 各为何值?答: cf=1,pf=1,af=1, zf=0,sf=1,of=06. 什么是储备器的物理地址和规律地址?在8086 系统中,如何由规律地址运算物理地址?答:规律地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫规律地址;物理地址是真实存在的唯独地址,指的是储备器中各个单元的单元号;在 8086 系统中,物理地址 =段地址 ×10h偏移地址7. 段寄存器cs=1200h,指令指针寄存器ip=4000h ,此时,指令的物理地址为多少?指向这一地址的cs 指和 ip 值是唯独的吗?答:此指令的物理地址=1200h×10h4000h=

11、16000h并且指向这一物理地址的 cs 值和 ip 值并不是唯独的;8.在 8086 系统中,规律地址ffff :0001,00a2:37f 和 b800: 173f 的物理地址分别是多少?答:规律地址ffff: 000100a2:3tfb800:173f物理地址ffff1h00d9fhb973fh9. 在8086 系统中,从物理地址388h开头次序存放以下3 个双字节的数据5微机原理与接口技术(其次版)清华高校出版社651ah ,d761h 和 007bh ,请问物理地址388h,389h,38ah ,38bh,38ch和 38dh 6 个单元中分别是什么数据?答:(388h)=1ah ,

12、(389h)=65h,(38ah )=61h,(38bh)=dth ,(38ch)=7bh,(38dh )=00h10. 8086 微处理器有哪几种工作模式?各有什么特点? 答: 8086 微处理器有最大和最小工作模式;在最小模式下: 8086 cpu 直接产生全部总线掌握信号(dt/r , den, ale ,m/io )和命令输出信号( rd,wr ,inta )并提出恳求拜访总线的规律信号 hold ,hlda ;在最大工作模式下,必需配置8288 总线掌握器,并且依据8086 供应的状态信号 s2, s1,s0,输出读写掌握命令,可以供应敏捷多变的系统配置, 以实现正确的系统性能;11

13、. 简述 8086 引脚信号中m/io , dt/r ,rd ,wr ,ale ,den 和 bhe 的作用;答: m/io :输出信号,高电平常,表示cpu 与储备器之间数据传输;低电平常,表示cpu 与 i/o 设备之间数据传输;dt/r :掌握其数据传输方向的信号;dt/r=1 时,进行数据发送; dt/r=0时 , 进 行 数 据 接 收 ; rd:cpu 的读信号, rd=0 时,表示 8086 为储备口或i/o 端口读操作; wr:cpu 的写信号, wr =0 时,表示8086 为储备口或i/o 端口写操作; ale :地址存锁信号,在t1 能时刻有效;den:数据选通信号,当d

14、en 有效时,表示答应传输;bhe:数据总线答应信号,与a0 组合使用,表示是否拜访奇地址字节;12. 简述8086 读总线周期和写总线周期和引脚上的信号动尖态变化过程;8086的读周期时序和写周期时序的区分有哪些?答: 在 8086 读周期内,有关总线信号的变化如下:m/ io :在整个读周期保持有效,当进行储备器读操作时,m/ io 为高电平;当进行 i/o 端口读操作时, m/ io 为低电平;6微机原理与接口技术(其次版)清华高校出版社a 19/s6 a 16/s3:在 t1 期间,输出cpu 要读取的储备单元或i/o 端口的地址高 4 位;t2t4 期间输出状态信息s6-s3; bh

15、e /s7:在 t1 期间,输出 bhe 有效信号 bhe 为低电平 ,表示高 8 位数据总线上的信息可以使用, bhe 信号通常作为奇地址储备体的体选信号 偶地址储备体的体选信号是最低地址位 a 0;t2 t4 期间输出高电平;ad l5 ad 0:在 t1 期间,输出 cpu 要读取的储备单元或 i/o 端口的地址a15a 0;t2 期间为高阻态, t3t4 期间,储备单元或 i/o 端口将数据送上数据总线; cpu 从 ad l5 ad 0 上接收数据;ale :在 t1 期间地址锁存有效信号, 为一正脉冲, 系统中的地址锁存器正是利用该脉冲的下降沿来锁存 a 19/s6a 16/s3,

16、ad l5 ad 0 中的 20 位地址信息以及 bhe ; rd :t2 期间输出低电平送到被选中的储备器或 i/o 接口,留意,只有被地址信号选中的储备单元或 i/o 端口,才会被 rd 信号从中读出数据 数据送上数据总线 ad l5ad 0;dt/ r :在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来掌握数据传输方向; den :在t2t3 期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的选通;总线写操作的时序与读操作时序相像,其不同处在于:ad l5 ad 0:在 t2 t4 期间送上欲输出的的数据,而无高阻态; w

17、r :从 t2t4,wr 引脚输出有效低电平, 该信号送到全部的储备器和 i/o接口;留意,只有被地址信号选中的储备单元或 i/o 端口才会被 wr 信号写入数据;dt/ r :在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来掌握数据传输方向;7微机原理与接口技术(其次版)清华高校出版社习题31.假定( ds)=2000h,( es) =2100h,(ss) =1500h,(si) =00a0h ,(bx )=0100h,( bp) =0010h,数据变量 val 的偏移地址为 0050h,请指出以下指令原操作数是什么寻址方式,其物理地址是多少?1 mov

18、ax, 0abh2 movax, 100h3 movax, v al4 movbx, si5 moval, v albx6 movcl, bxsi7 movvalsi, bx8 movbpsi, 100答: 1 立刻数寻址,无物理地址2 直接寻址,物理地址=2000h×10h+100h=20210h3 直接寻址,物理地址=2000h×10h+0050h=20050h4 寄存器间接寻址,物理地址=2000h×10h+00a0=200a0h5 相对寄存器寻址,物理地址=2000h×10h+( 0050+0100h)=20210h6 基址加变寻址, 物理地址

19、=2000h×10h+(0100h+00a0h)=201a0h(7) 寄存器寻址,无物理地址(8) 立刻数寻址,无物理地址2. 已知( ss)=0ffa0h ,(sp)=00b0h ,先执行两条把 8057h 和 0f79h 分别进栈的 push 指令,再执行一条 pop 指令, 试画出堆栈区和 sp 内容变化的过程示意图;答:“ 8057h”进栈,就 sp 自动从 00b0h 指向 00b2h,“ 0f79h”进栈,就 sp自动从 00b2h 指向 00b4h;执行一条 pop 指令,“0f79h”被弹出栈,sp 从 00b4h指向 00b2h;图略;3. 设有关寄存器及储备单元的

20、内容如下:ds=2000h, bx=0100h, ax=1200h, si=0002h, 20210h=12h, 20211h=34h, 20212h=56h, 20213h=78h, 21200h=2ah, 21201h=4ch, 21202h=0b7h, 21203h=65h.试说明以下各条指令单独执行后相关寄存器或储备单元的内容;8微机原理与接口技术(其次版)清华高校出版社(1) mov ax, 1800h2mov ax, bx3mov bx, 1200h4mov dx, 1100bx5mov bxsi, al6mov ax, 1100bxsi答: 1 ax=1800h 2 ax=010

21、0h 3 bx=4c2ah4 dx=4c2ah 5 20212h=00h 6 ax=65b7h4. 写出实现以下运算的指令序列;1 z=w+x+z2 z=w-x+6-r+9答: 1movax, zaddax, xaddax, wmovz, ax2movax, w addx, 6subax, xaddr, 9subax, rmovz, ax5. 如在数据段中从字节变量table相应的单元开头存放了015 的平方值,试写出包含xlat指令的指令序列查找n(015)中的某个平方数;答: leabx, table moval, cl xlat6. 写出实现以下运算的指令序列;1 z=w*x/r+62

22、z=w-x/5*y*2答: 1 movax, wimulxaddr, 6idivr9微机原理与接口技术(其次版)清华高校出版社movz, ax2 movax, w subax, xmovbl, 5idivbl cbwimulymovbx, 2imulbxmovz, ax7.假定dx=1100100110111001b,cl=3,cf=1,试确定以下各条指令单独执行后 dx 的值;(1) shr dx, 12 shl dl, 13 sal dh, 1 4 sar dx, cl5 ror dx, cl 6 rol dl, cl 7 rcr dl, 1 8 rcl dx, cl答 : 1 dx=01

23、10 0100 1101 1100b 2 dx=1100 1001 0111 0010b3 dx=1001 0010 1011 1001b4 dx= 1111 1001 0011 0111b5 dx= 0011 1001 0011 0111b6dx= 0100 1101 1100 1110b7 dx= 1110 0100 1101 1100b8 dx= 1001 0011 0111 0011b8. 已知程序段如下: movax, 1234h movcl, 4rol ax, cldec axmov cx, 4mul cxint 20h试问:(1)每条指令执行后, ax 寄存器的内容是什么?( 2

24、)每条指令执行后, cf, sf 及 zf 的值分别是什么?( 3)程序运行终止后, ax 及 dx 寄存器的值为多少?10微机原理与接口技术(其次版)清华高校出版社答: movax, 1234hax=1234h, cf=0 , sf=0,zf=0movcl, 4rolax,clax=2341h,cf=1 ,sf=0,zf=0decaxax=2340h,cf=1 ,sf=0, zf=0 movcx,4mull cxax=8d00h, cf=0 ,sf=1,zf=0int20h终止后, dx=0000h, ax=8000h9. 试分析以下程序段:addax, bx jncl2 subax, bx

25、 jncl3jmpshortl5假如 ax ,bx 的内容给定如下:axbx(1) 14c6h80dch2 b568h54b7h问该程序在上述情形下执行后,程序转向何处;答:(1)转到 l2 处(2)转到 l3 处11微机原理与接口技术(其次版)清华高校出版社习题41以下语句在储备器中分别为变量安排多少字节空间?并画出储备空间的安排图;var1 db 10 ,2var2 dw 5 dup (?),0var3 dbhow are you?,3 dup(1,2) var4 dd -1 ,1,0答:字节空间:var1:2; var2:12; var3:13; var4:8;储备空间的安排图:2假定

26、var1和 var2为字变量, lab为标号, 试指出以下指令的错误之处;( 1) add v ar1, var2(2)sub al , var1( 3) jmplabcx(4)jnzvar1( 5)mov 1000h , 100(6)shl al ,4答: 1 在算术运算指令中,两个操作数不能同时为储备器寻址方式(2) al为字节, var1为字变量,字长不相等;(3) 错误1:寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用 cx 寄存器;错误 2:汇编格式错误,无法判段是段内转移仍是段间转移;(4) 转向地址应为标号,不能是变量;(5) 目的操作数的类型不确定;12微机原理与接口技

27、术(其次版)清华高校出版社(6) shl 指令中,当所移位数超过1 时,必需用cl 取代所移位数;3对于下面的符号定义,指出以下指令的错误; a1 db?a2 db 10k1 equ 1024(1)mov k1 , ax( 2) mov a1 , ax(3)cmp a1, a2(4)k1 equ 2048答: 1k1为常量,不能用mov指令赋值; 2a1为字节, ax为字变量,类型不一样; 3a1和 a2 同为储备器寻址方式,不符合语法规章; 4k1重新赋值前,必需用purge 释放;4数据定义语句如下所示:first db 90h ,5fh , 6eh , 69h second db 5 d

28、up.third db 5 dup. forth db 4 dup .自 first单元开头存放的是一个四字节的十六进制数低位字节在前 ,要求:编一段程序将这个数左移两位后存放到自 second 开头的单元 ,右移两位后存放到自 third 开头的单元 ,求补后放到 forth 开头的单元; 留意保留移出部分答:data segmentfirstdb 90h , 5fh , 6eh , 69h seconddb 5 dup.thirddb 5 dup. forthdb 4 dup . data endscode segment13微机原理与接口技术(其次版)清华高校出版社assume cs :

29、 code , ds: datastart : movax , datamovds, ax leasi, firstleadi , second mov cx ,2clc; 左 移 2 位movax , wordptrsi;ax=5f90h为低十六位数据inc si inc simovdx , wordptrsi;dx=696eh为高十六位数据pushdx;储存原有的高十六位数据pushax;储存原有的低十六位数据roldx , cl;将高位数据不带进位循环左移两位,即高 2 位数据在dl的低2 位anddl , 03h;让 dl中仅储存移出的高2 位数据movdi+4, dl ;将移出的高2

30、 位数据放入second中的最高单元中rolax , cl;将低位数据不带进位循环左移两位,即ax的高 2 位在 al的低 2 位andal , 03h;让 al中仅储存移出的ax高 2 位 数 据movbl,al ;将 al中的数据放入bl中储存popax ;弹出原有的低十六位数据popdx ;弹出原有的高十六位数据shldx , cl ;将高位数据算术规律左移2 位shlax , cl ;将低位数据算术规律左移2 位ordl , bl ;将 ax中移出的高2 位数据放入dx的 低 2 位movwordptrdi, ax movwordptrdi+2,dx14微机原理与接口技术(其次版)清华

31、高校出版社; 右 移 2 位lea si, first lea di , third mov cx , 2clcmov ax ,wordptrsi; ax=5f90h为低十六位数据inc si inc simovdx , wordptrsi;dx=696eh为高十六位数据高 2push push ror位dx ;储存原有的高十六位数据ax ;储存原有的低十六位数据ax ,cl ;将低位数据不带进位循环右移两位,即低2 位数据在ah的andah , 0c0h ;让 ah中仅储存移出的低2 位数据pushcxmovcx , 6shrah , clpopcxmovdi, ah;将移出的低2 位数据放

32、入third中的最低单元中rordx ,cl;将低位数据不带进位循环左移两位,即ax的高 2 位在 al的低 2位anddh , 0c0h;让 dh中仅储存移出的dx低 2 位 数 据movbl, dh;将 dh中的数据放入bl中储存popax;弹出原有的低十六位数据popdx;弹出原有的高十六位数据shrdx , cl;将高位数据算术规律左移2 位shrax , cl;将低位数据算术规律左移2 位orah ,bl;将 dx中移出的低2 位数据放入ax的 高 2 位movwordptrdi+1, axmovwordptrdi+3, dx15微机原理与接口技术(其次版)清华高校出版社;求补lea

33、si, firstleadi , forthmovax , wordptrsi; ax=5f90h为低十六位数据inc si inc simovdx , wordptrsi; dx=696eh为高十六位数据xorax ,0ffffh;将低十六位取反xordx ,offffh;将高十六位按位取反clcaddax , 01h;低位加1,即可为原数的求补adcdx , 0;高位加低位加法时的进位movwordptrdi, ax movwordptrdi+2,dx mov ah ,4chint 21h code endsend start5. 试编程序将内存从 40000h 到 4bfffh 的每个单

34、元中均写入 55h,并再逐个单元读出比较,看写入的与读出的是否一样;如全对,就将 al 置 7eh; 只要有错,就将 al 置 81h ;答:datasegment da1db55h codesegmentassumecs:code,ds:data start:movax,4000hmovds,ax movcx,0c000h movbx,0000h16微机原理与接口技术(其次版)清华高校出版社movah,55hnext1:movbyte ptrbx,ah incbxloopnext1movbx,0000h movcx,0c000h moval,81hnext2:movah, bxcmpah,5

35、5hjnzexitincbx loopnext2 moval,7ehexit:movah,4ch int21h codeends endstart6. 在当前数据段4000h 开头的 128 个单元中存放一组数据, 试编程序将它们次序搬移到a000h 开头的次序128 个单元中,并将两个数据块逐个单元进行比较;如有错将bl 置 00h;全对就将 bl 置 ffh ,试编程序;答:datasegment org400hda1db128 dup. org0a00hda2db128 dup. dataendscodesegmentassumecs:code,ds:data,es:data start

36、: movax,datamovds,ax17微机原理与接口技术(其次版)清华高校出版社lea si,da1 lea di,da2 mov cx,128again:moval,siincsiincdiloopagain leasi, da1leadi, da2movcx,128 next:moval,simovbl,di cmpal,bl jnzerrorincsiincdimovbl,0ffhloopnext jmpexiterror: movbl,00hexit:movah,4chint 21h codeendsendstart7. 设变量单元a 、b、c 存放有 3 个数,如 3 个数都不

37、为零,就求3 个数的和,存放在 d 中;如有一个为零,就将其余两个也清零,试编写程序;答:datasegment adb.b db.18微机原理与接口技术(其次版)清华高校出版社c db. dataendscodesegmentassumecs:code,ds:data start: movax,datamovds,axcmpa,00hjnzlp1movb,0movc,0jmplp4 lp1:cmpb,00hjnzlp2mova,0movc,0jmplp4 lp2:cmpc,00hjnzlp3mova,0movb,0jmplp4 lp3:moval,aaddal,baddal,cmovah,4

38、ch lp4:int21hcodeendsendstart8. 有一个100 个字节的数据表,表内元素已按从大到小的次序排列好,现给定 一元素,试编程序在表内查找,如表内已有此元素,就终止;否就,按次序将此元素插入表中适当的位置,并修改表长;19微机原理与接口技术(其次版)清华高校出版社答:datasegmentbuffdb100 dup. da1db. lengthdb0dataends codesegmentassumecs:code,ds:datastart: movax,datamovds,axmovsi,0moval,da1movcx,100 find0: cmpbuffsi,alj

39、zexitincsi loopfind0movdi,99movsi,0 compare: cmpbuffdi,aljginsertmovbl,buffdi movbuffdi+1,bl decdicmpdi,sijnlcompare jmpexitinsert:movbuffdi+1,almovlength , 101 exit:movah,4chint21h20微机原理与接口技术(其次版)清华高校出版社codeends endstart9. 内存中以 first 和 second 开头的单元中分别存放着两个 16 位组合的十进制bcd 码数,低位在前;编程序求这两个数的组合的十进制和 ,并存

40、到以 third 开头的单元;答:datasegmentfirstdd34341212h seconddd78785656h thirddb.,.,.,.dataends codesegmentassumecs:code,ds:data start:movax,datamovds,axleasi,first leadi,second leabx,third movcx,4clcagain:moval,byte ptrsimovdl,byte ptrdi adcal,dldaamovbyte ptrbx,al incsiincdiincbx loopagain jcaa21微机原理与接口技术(其

41、次版)清华高校出版社movbyte ptrbx,0jmpexitaa:movbyteptrbx,1exit:movah,4chint 21hcodeends endstart10. 编写一段程序,接收从键盘输入的10 个数,输入回车符表示终止,然后将这些数加密后存于buff 缓冲区中;加密表如下:输入数字 : 0,1,2,3,4,5,6,7,8,9;密码数字 : 7,5,9,1,3,6,8,0, 2,4;答:datasegmentmitabdb'7591368024' contequ$-mitabbuffdb10 dup .,'$'yuanwendb10 dup

42、 .,'$' dataendscodesegmentassume cs code, ds data start:movax ,datamovds,axmovsi,0movcx ,cont input:movah , 1int21hcmpal ,13 jzexitandal ,0fhmovyuanwensi,al22微机原理与接口技术(其次版)清华高校出版社incloopsiinputexit :leabx ,mitabmovcx ,simovsi,0jiami:moval ,yuanwensixlatmovmitab buffsi ,alincsiloopjiamimovah,

43、4chint21hcodeends endstart11. 试编程序,统计由40000h开头的 16k个单元中所存放的字符“a”的个数,并将结果存放在dx中;答:datasegmentda1db'a'buffdb4000h dup. dataendscodesegmentassumecs:code,ds:data start:movax,4000hmovds,axmovbx,0 movcx,4000hfind:moval,bx movbl,da123微机原理与接口技术(其次版)清华高校出版社cmpjnzal,blnextincdxnext:incsiloopfindmovah,

44、4chcodeintends21hendstart12. 在当前数据段 ds,偏移地址为datab开头的次序80 个单元中,存放着某班 80 个同学某门考试成果;按如下要求编写程序:1 编写程序统计90 分; 80 分 89 分; 70 分 79 分; 60 分 69 分, 60 分的人数各为多少,并将结果放在同一数据段、偏移地址为btrx开头的次序单元中;(2) 试编程序, 求该班这门课的平均成果为多少,并放在该数据段的aver 单元中;答:datasegmentbuffdw80 dup. da9db0da8db0da7db0da6db0da5db0averdb0 dataends code

45、segmentassumecs:code,ds:data start:movax,datamovds,ax24微机原理与接口技术(其次版)清华高校出版社movcx,80 compare: movbx,0cmpbuffbx,90 jblp8incda9jmpnextlp8:cmpbuffbx,80 jblp7incda8jmpnextlp7:cmpbuffbx,70 jblp6incda7jmpnextlp6:cmpbuffbx,60 jblp5incda6jmpnext lp5:incda5jmpnextnext:incbxloopcompare movcx,80xorax,ax movbx,

46、00sum:addax,buffbxincbx looplp1 movcl,80 divclmovaver ,al25微机原理与接口技术(其次版)清华高校出版社movah,4ch int21h codeendsendstart13. 编写一个子程序,对al中的数据进行偶校验,并将经过校验的结果放回al 中;答:jiouproc pushcxpushbxxorah, ah pushax movcl, 7loop1: saral, 1adcah,0looploop1moval,ahxorah,ahmovbl,2divblmovbl,ah popaxrorbl,1oral,blpopbxpopcx retjiouendp14. 利用上题的子程序,对80000h 开头的 256 个单元的数据加上偶校验,试编26微机原理与接口技术(其次版)清华高校出版社程序;codesegmentassumecs: code start :movax,8000hmovds,ax movsi,0movcx, 256 lp:moval,sicalljiou movsi,al incsilooplpmovah,4ch int 21hjiouproc pushcxpushbxxorah, ahpushaxmovcl, 7 lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论