版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理答案习题11. 什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种 机器指 令的集合。汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作 码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码, 就把机器语言编程了汇编语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言 翻译成机器语言,这种起翻译作用的程序叫汇编程序。2. 微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、 系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护
2、方这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在 微细加工工艺基础之上。3. 微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概 念。答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输 出设备组成。“存储程序控制”的概念可简要地概括为以下几点: 计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大 基本部件组成。 在计算机内部采用二进制来表示程序和数据。 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作, 使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加 以执行,这就是存储程序的基本含义。 五大部件以运算器为
3、中心进行组织。4请说明微型计算机系统的工作过程。答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程 序存放的第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 (225) 10= (10.01 ) 2= (2.2) 8= (2.8) 16 (1.875) 10= (1.111 ) 2= (1.7) 8= (1.E) 168将下列二进制数转换成十进制数。 (1011.011 ) 2= ( 11.6) 10 (1101
5、.01011) 2= (13.58) 10 (111.001 ) 2= (7.2) 109将下列十进制数转换成8421 BCD码。 2006= (0010 0000 0000 0110) BCD 123.456= (0001 0010 0011.0100 0101 0110) BCD10. 求下列带符号十进制数的8位基2码补码。 +127补=01111111 卜 1补=11111111 -128补=10000000 +1补二 0000000111 求下列带符号十进制数的16位基2码补码 +6550000001010001111 卜1补=1111111111111110 -3212 =11110
6、11101011100 +100补=0000000001100100习题21 8086 CPU在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 CPU内部由两大独立功能部件构成,分别是执行部件和总线接口部件。执行部件负责进行所有指令的解释和执行,同时管理有尖的寄存器。总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。2. 简述8086 CPU的寄存器组织。答:8086 CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段 寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑
7、段基值,并指示当前正在使用的4个逻辑段。地址指针与变址寄存器一般用来 存放主存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器3. 试述8086 CPU标志寄存器各位的含义与作用。答:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的 6位是状态标识位,3位是控制标识位。状态标志位分别是CF,PF,AF, ZF, SF,和OF;控制标志位包括DF, IF, TF。CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,则CFJ否则CF=QPF:奇偶标志位。反应计算结果中1的个数是偶数还是奇数。若运算结果的低 8位中含有偶数个1,则PF=1
8、;否则PF=0.AF :辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产 生进位或借位,则AF=1;否则AF=0.ZF:零标志位。若指令运算结果为0侧ZF=1;否则ZF=0SF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1;否则OF=QDF :方向标志位。用于串操作指令,指令字符串处理时的方向。IF:中断允许标志位。用来控制8086是否允许接收外部中断请求。TF:单步标志位。它是为调试程序而设定的陷阱控制位。4. 8086 CPU犬态标志和控制标志有何不同?程序中是怎样利用这两类标识的? 8086的状态标志和 控制标识分别有哪些?答:状态标志
9、位反应了当前运算和操作结果的状态条件,可作为程序控制转移 与否的依据。它们分别是CF, PF, AF,ZF, SF,和OF。控 制标志位用来控 制CPU的操作 由指令进行置位和复位控制标志位包括D F,I F,T F。5. 将 1001 1100 和 11100101 相加后,标识寄存器中 CF, PF, AF, ZF, SF,OF各为何值?答:CF=1, PF=1, AF=1, ZF=0, SF=1 OF=06. 什么是存储器的物理地址和逻辑地址?在8086系统中,如何由逻 辑地址计算物理地址?答:逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫 逻辑地址。物理地址是真实存在的
10、唯一地址,指的是存储器中各个单元的 单元号。在8086系统中,物理地址二段地址X 10H+偏移地址7. 段寄存器CS=1200H指令指针寄存器IP=4000H此时,指令的物理地址为多少?指向这一地址的CS指和IP值是唯一的吗?答:此指令的物理地址=1200HX 10H+4000H=16000H并且指向这一物理地址的CS值和IP值并不是唯一的。8. 在 8086 系统中,逻辑地址 FFFF 0001, 00A2: 37F 和 B800: 173F 的物理地址分别是多少?逻辑地址 FFFF : 0001 00A2 : 3TF B800 : 173F物理地址 FFFF1H00D9FH B973FH9
11、. 在8086系统中,从物理地址388H开始顺序存放下列3个双字节 的数据651AH, D761H 和 007BH,请问物理地址 388H, 389H,38AH, 38BH, 38CH和38DH 6个单元中分别是什么数据?答:(388H)=1AH, ( 389H) =65H,(38AH)=61 H,(38BH)Z1 DTH, (38CH) =7BH,( 38DH)=00H1 o. 8086微处理器有哪几种工作模式?各有什么特点?答:8086微处理器有最大和最小工作模式。在最小模式下:8086 CPU直接产生全部总线控制信号(DT/R, DEN ALE M/IO)和命令输出信号(RD, WRJN
12、TA)并提出请求访问总线 的逻辑信号HOLD,HLDA。在最大工作模式下,必须配置8288总线控制器,并且根据8086提供的 状态信号S2, S1, S0,输出读写控制命令,可以提供灵活多变的系统配置, 以实现最佳的系统性能。11. 简述 8086 引脚信号中 M/10, 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
13、为存储口或I/O端口读操作。WR : CPU的写信号,WR =0时,表示8086为存储口或I/O端口写操 作。ALE地址存锁信号,在T1能时刻有效。DEN数据选通信号,当DEN有效时,表示允许传输。BHE数据总线允许信号,与A0组合使用,表示是否访问奇地址字节。12简述8086读总线周期和写 总线周期和引脚上的信号动尖态变化过程。8086的读周期时序和写周期时序的区别有哪些?答:在8086读周期内,有矢总线信号的变化如下: M/ :在整个读周期保持有效,当进行存储器读操作时,M/为高电平; 当进行I/O端口读操作时,M/为低电平。 A19/S6A16/S3:在T1期间,输出CPU要读取的存储单
14、元或I/O端口的 地址高4位。T2T4期间输出状态信息S6-S3 /S7:在T1期间,输出BHE有效信号(为低电平),表示高8位数 据总 线上的信息可以使用,信号通常作为奇地址存储体的体选信号(偶地址存储 体的体选信号是最低地址位AO) oT2- T4期间输出高电平。 ADI5ADO:在T1期间,输出CPU要读取的存储单元或I/O端口的 地址 A15AO。T2期间为高阻态,T3T4期间,存储单元或I/O端口将数据 送上数据总线。CPU从ADI5AD0上接收数据。 ALE在T1期间地址锁存有效信号,为一正脉冲,系统中的地址锁存器正是利用该脉冲的下降沿来锁存A19/S6A16/S3, ADI5AD
15、O中 的 20位地址信息以及。 :T2期间输出低电平送到被选中的存储器或 I/O接口,注意,只有被 地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据(数据 送上数据总线ADI5ADO)。 DT/ :在整个总线周期内保持低电平表示本总线周期为读周期在接有数据总线收发器的系统中,用来控制数据传输方向。 :在T2T3期间输出有效低电平,表示数据有效,在接有数据总线收 发器的系统中,用来实现数据的选通。总线写操作的时序与读操作时序相似,其不同处在于: ADI5ADO:在T2T4期间送上欲输出的的数据,而无高阻态。 :从T2T4,引脚输出有效低电平,该信号送到所有的存储器和I/O接口。注意
16、,只有被地址信号选中的存储单元或I/O端口才会被信号写入数据。 DT/ :在整个总线周期内保持高电平,表示本总线周期为写周期,在接有 数据总线收发器的系统中,用来控制数据传输方向。习题31. 假定(DS =2000H, (ES =21 OOH, (SS=1500H, (SI) =OOAOH, (BX)=0100H, (BP) =0010H,数据变量VAL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, OABH(2) MOV AX, 100H MOV AX, VAL(4) MOV BX, SI MOV AL, VALBX (6) MOV C
17、L, BXSI MOV VALSI, BX (8) MOV BPSI, 100 答:(1)立即数寻址,物理地址:无直接寻址,物理地址=2000HX 10H+100H=20100H直接寻址,物理地址=2000HX 10H+0050H=20050H寄存器间接寻址,PA=2000H 10H+00A0=200A0H(5) 相对寄存器寻址,PA=2000H 10H+ (0050+0100H) =20150H(6) 基址加变寻址,PA=2000HX 10H+ (0100H+00A0IH =201A0H(7) 寄存器寻址,无PA(8) 立即数寻址,无PA2. 已知(SS =OFFAOH ( SP =OOBO
18、H,先执行两条把 8057H 和 0F79H 分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化 的过程示意图。“8057H”进栈,贝(J SP自动从OOBOH指向00B2H, “0F79H”进栈,则SP 自动从00B2H指向00B4H;执行一条POP指令,“0F79H被弹 出栈,SP从 00B4H指向00B2H。图略。3. 设有尖寄存器及存储单元的内容如下:(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H,(20101 H)=34H, (20102H)=56H,(20103H)=78H,(21200
19、H)=2AH,(21201H)=4CH, (21202H)=0B7H, (21203H)=65H.试说明下列各条指令单独执行后相尖寄存器或存储单元的内容。(1) MOV AX, 1800H (2) MOV AX, BX(3) MOV BX, 1200H (4) MOV DX, 1100BX(5) MOV BXSI, AL (6) MOV AX, 1100BXSI答:(1) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH(4) (DX)=4C2AH (5) (20102H)=00H (6) (AX)=65B7H4写出实现下列计算的指令序列。 Z=W+(X+Z)
20、(2) Z=W-(X+6)-(R+9)答:(1) MOV AX, ZADD AX, XADD AX, WMOV 乙 AX(2) MOV AX, WADD X, 6SUB AX, XADD R, 9SUB AX, RMOV 乙 AX5若在数据段中从字节变量TABLE相应的单元开始存放了 015的平方 值,试写出包含XLAT指令的指令序列查找N (0-15)中的某个 平方数。答:LEA BX, TABLEMOV AL, CLXLAT6.写出实现下列计算的指令序列。(1) Z=(W*X)/(R+6) (2) Z=(W-X)/5*Y)*2 答:(1) MOV AX, WIMULXADD R, 6IDI
21、V RMOV 乙 AX(2) MOV AX, WSUB AX, XMOV BL, 5IDIV BLCBWIMUL YMOV BX, 2IMUL BXMOV 乙 AX7. 假定(DX)=1100100110111001 B,CL=,3 CF=1,试确定下列各条指令 单独执行后DX的值。(1) SHR DX, 1(2) SHL DL, 1(3) SAL DH, 1 (4) SAR DX, CL(5) ROR DX, CL (6) ROL DL, CL (7) RCR DL, 1 (8) RCL DX, CL答:(1) (DX)=0110 0100 1101 1100B (2) (DX)=1100
22、1001 0111 001 OB(3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B(5) (DX)= 0011 1001 0011 0111B (DX)= 0100 1101 1100 1110B(DX)= 11100100 1101 1100B (8) (DX)= 1001 0011 0111 0011B8. 已知程序段如下:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MULCXINT 20H试问:(1)每条指令执行后,AX寄存器的内容是什么?( 2)每条指令执行后,CF,
23、 SF及ZF的值分别是什么?( 3)程序运行结束后,AX及DX寄存器的值为多少?答:MOV AX, 1234H(AX)=1234H, CF=,0SF=0, ZF=0MOV CL, 4ROL AX,CL(AX)=2341H,CF=J SF=0, ZF=0DEC AX(AX)=2340H,CF=,1 SF=0,ZF=0MOV CX,4MULL CX(AX)=8D00H,CF=,0SF=1,ZF=0INT 20H结束后,(DX)=0000H, (AX)=8000H9. 试分析下列程序段:ADD AX, BXJNC L2SUB AX, BXJNC L3JMP SHORTL5如果AX, BX的内容给定如
24、下:AXBX(1) 14C6H80DCH B568H54B7H问该程序在上述情况下执行后,程序转向何处答:(1)转到L2处(2) 转到L3处习题41 下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分 配图。VAR1 DB 10 2VAR2 DW5 DU (P ? ),0VAR3 DB HOWARE YO?LT,3 DUP (1,2)VAR4 DD-1 1,0答:字节空间:VAR1 :2 ;VAR2:12;VAR3:13;VAR4:8。存储空间的分配图:2 假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处1 )ADD VAR1,VAR22)SUB AL,VA
25、R13)JMP LABCX4)JNZ VAR15) MOV1000H,1006) SHL AL 4答:(1)在算术运算指令中,两个操作数不能同时为存储器寻址方式(2) AL为字节,VAR1为字变量,字长不相等;(3) 寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器。(4) 转向地址应为标号,不能是变量;(5) 目的操作数的类型不确定;(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
26、) K1 EQU 2048答:(1)K1为常量,不能用MOV指令赋值;(2)A1为字节,AX为字变量,不匹配;(3)A1未定义,无法做比较指令;K1重新赋值前,必须用PURGE释放。4数据定义语句如下所示:FIRST DB 90 H 5FH 6EH, 69HSECOND DB 5 DUP(?)THIRD DB5 DUP(?)自FIRST单元开始存放的是一个四字节的十六进制数(低位字节在前),要 求:编一段程序将这个数左移两位后存放到自 SECOND开始的单元,右移 两位后存放到自THIRD开始的单元。(注意保留移出部分)答:DATA SEGMENTFIRST DB 90H 5FH, 6EH,
27、69HSECOND DB 5 DUP(?)THIRD DB5 DUP(?)FORTH DB 4 DUP (?)DATA ENDSCODE SEGMENTASSUME C : S CODE,DS : DATASTAR : T MOV AX,DATAMOV DS,AXLEA SI,FIRSTLEA DI,SECONDMOVCX, 2CLC;左移2位MOV AX,WORD PTR SI; AX=5F90H 为低十六位数据INC SIMOV DX, WORD PTR SI据;DX=696EH为高十六位数PUSH DX;保存原有的咼十六位数据PUSH AX;保存原有的低十六位数据ROL DX, CL;将
28、高位数据不带进位循环左移两位,即高2位数据在DL的低2位AND DL, 03H;让DL中仅保存移出的高2位数据MOV DI+4 , DL;将移出的高2位数据放入SECOND中的最高单元中ROL AX, CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位AND AL, 03H;让AL中仅保存移出的AX高2位数据MOV BL, AL;将AL中的数据放入BL中保存POP AX;弹出原有的低十六位数据POP DX;弹出原有的高十六位数据SHL DX, CL ;将高位数据算术逻辑左移2位SHLAX,CL ;将低位数据算术逻辑左移2位OR DL,BL ;将AX中移出的高2位数据放入DX的低
29、2位MOV WORD PTR DI,AXMOV WORD PTR DI+2,DX;右移2位LEA SI,FIRSTLEA DI THIRDMOV CX,2CLCMOV AX,WORD PTR SI ; AX=5F90H 为低十六位数据INC SIMOV DX, WORD PTR SI ; DX=696EH 为高十六位数据PUSH DX;保存原有的高十六位数据PUSH AX;保存原有的低十六位数据ROR AX, CL将低位数据不带进位循环右移两位,即低2位数据 在AH 的高2位AND AH, 0C0H;让AH中仅保存移出的低2位数据PUSH CXMOV CX, 6SHR AH, CLPOPCXM
30、OV DI , AH ;将移出的低2位数据放入THIRD中的最低单 元中ROR DX, CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位AND DH, 0C0H;让DH中仅保存移出的DX低2位数据MOV BL, DH;将DH中的数据放入BL中保存;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHRDX,CL;将咼位数据算术逻辑左移2位SHRAX,CL;将低位数据算术逻辑左移2位ORAH,BL;将DX中移岀的低2位数据放入AX的高2位POP AXMOV WORD PTR DI+1,AXMOV WORD PTR DI+3,DX;求补LEA SI,FIRSTLEA DI
31、,FORTHMOV AX,WORD PTR SI;AX=5F90H为低十六位数据INC SIINC SIDX;DX=696EH为高十六位数据MOV 9WORD PTR SIAX;将低十六位取反XOR ,OFFFFHDXXOR ,OFFFFH;将高十六位按位取反CLCADD AX,01H;低位加1 ,即可为原数的求补ADCDX,0;高位加低位加法时的进位MOV WORD PTR DI AXMOV WORD PTR DI+2 DXMOV AH,4CHINT21HCODE ENDSEND START5.试编程序将内存从40000H到4BFFFH的每个单元中均写入55H,并再 逐个单元读出比较,看写入
32、的与读出的是否一致。若全对,则将AL置 7EH;只要有错,则将AL置81H。答:DATA SEGMENTDA1 DB 55HCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000HMOVDS,AXMOVCX,0C000HMOVBX,0000HMOVAH,55HNEXT1: MOV byte ptrBX,AHINCBXLOOPNEXT1MOVBX,0000HMOVCX,0C000HMOVAL,81HNEXT2: MOV AH, BXCMPAH,55HJNZEXITINCBXLOOP NEXT2MOV AL,7EHEXIT: MOV AH,4CHI
33、NT21HCODE ENDSEND START6.在当前数据段4000H开始的128个单元中存放一组数据,试编程序将它们顺序搬移到AOOOH开始的顺序128个单元中,并将两个数据块逐个单元进行比较;若有错将BL置00H;全对则将BL置FFH试编程序。答:DATA SEGMENTORG 400HDA1 DB 128 DUP(?)精品文档ORG OAOOHDA2 DB 128 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE3DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXLEASI,DA1LEA DI,DA2MOV CX,12
34、8AGAIN: MOV AL,SIINC SIINC DILOOP AGAINLEA SI, DA1LEA DI, DA2MOV CX,128精品文档NEXT: MOV AL,SIMOV BL,DICMP AL,BLJNZ ERRORINC SIINC DIMOV BL,0FFHLOOPNEXTJMP EXITERROR: MOV BL,00HEXIT: MOV AH,4CHINT21HCODEENDSEND START7设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中;若有一个为零,则将其余两个也清零,试编写程序。答:DATA SEGMENTADB?B DB ?
35、C DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXCMP A,OOHJNZ LP1MOV B,0MOV C,0JMP LP4LP1:CMPB,00H精品文档JNZ LP2A,0MOVMOVc,0JMPLP4LP2:CMP C,00HJNZLP3MOVA,0MOVB,0JMPLP4LP3:MOV AL,AADDAL,BADDAL,CMOVAH,4CHLP4:INT21HCODE ENDSENDSTART8.有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素5试编程序在表内
36、查找5若表內已有此元素,则结束;否则,按顺序将此元素插入表中适当的位置,并修改表长。DATA SEGMENTBUFF DB 100 DUP(?)DA1 DB (?)LENGTH DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXSI,0MOVMOV AL,DA1MOV CX,100FINDO: CMP BUFFSI,ALJZ EXITINC SILOOP FINDOMOV Dl,99MOV SI,0COMPARE: CMP BUFFDI,ALJG INSERTMOV BL,BUFFDIMOV BU
37、FFDI+1,BLDEC DICMP DI,SIJNL COMPAREJMP EXITINSERT: MOV BUFFDI+1,ALMOV LENGTH , 101EXIT: MOV AH,4CHINT21HCODE ENDSEND START9.內存中以FIRST和SECOND开始的单元中分别存放着两个16位组 合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进 制和,并存到以THIRD开始的单元。答:DATA SEGMENTFIRST DD 34341212HSECOND DD 78785656HTHIRD DB ?,?,?,?DATA ENDSCODE SEGMENTASS
38、UME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEASI,FIRSTLEA DI,SECONDLEA BX,THIRDMOV CX,4CLCAGAIN: MOV AL,BYTE PTRSIMOV DL,BYTE PTRDIADC AL,DLDAAMOV BYTE PTRBX,ALINC SIINC DIINC BXLOOP AGAIN精品文档JC AAMOVBYTE PTRBX,0JMPEXITAA:MOV BYTE PTRBX,1EXITMOV AH,4CHINT21HCODEENDSEND START10. 编写一段程序,接收从键盘输入的10个
39、数,输入回车符表示结 束,然后将这些数加密后存于BUFF缓冲区中。加密表如下:输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1 5 3,6,8,0,2 5 4 答:DATASEGMENTMITABnD& #39;7591368024$YUANWEN DB 10 DUP (?,) $DATAENDSCODESEGMENTASSUME CS: CODE DS: DATASTAR :TMOV AX,DATAMOVDS,AXMOVSI,0MOVCX,CONTINPUT:MOVAH,1INT21HCMP AL13JZ EXITANDAL,OFHMOVYUANWENSI,ALIN
40、CSILOOP INPUTEXIT : LEABX,MITABMOV CX,SIMOV SI,0JIAMI: MOV AL,YUANWENSIXLAT MITABMOV BUFFSI, ALINC SILOOP JIAMIMOV AH, 4CHINT21HCODE ENDSEND START试编程序,统计由40000H开始的16K个单元中所存放的字符 的个数,并将结果存放在DX中。DATA SEGMENTDA1DB ABUFF DB 4000H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE3DS:DATASTART: MOV AX,4000HMOVDS,AXMOVBX,0MOVCX,4000HFIND:MOV AL,BXMOVBL,DA1CMPAL,BLJNZNEXTINCDXNEXT:INC SILOOP FINDMOV AH,4CHINT21HCODE ENDSEND START12. 在当前数据段(DS),偏移地址为DATAB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论