汇编语言程序设计.doc_第1页
汇编语言程序设计.doc_第2页
汇编语言程序设计.doc_第3页
汇编语言程序设计.doc_第4页
汇编语言程序设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

第五章 汇编语言程序设计1从4000H单元开始定义数据段如下,请画出所定义存储器的分配图。 BUF SEGMENT DAl DW 3456H DA2 DB 2 DUP(7,8) BUF ENDS答:存储器的分配图2对于习题1的定义,请说明下列每条指令执行后的结果。 1、 MOV AX,SEG DAl 2、MOV AX,SEG DA2 3、MOV BX,OFFSET DAl 4、MOV BX,OFFSET DA2 5、MOV CX,TYPE DAl 6、MOV CX,TYPE DA2 7、MOV DX,LENGTH DAl 8、MOV DX,LENGTH DA2 9、MOV AX,SIZE DAl 10、MOV AX,SIZE DA2答:1、(AX)=(DS) 2、(AX)=(DS)+2 3、(BX)=4000H 4、(BX)=4002H 5、(CX)=2 6、(CX)=1 7、(DX)=2 8、(DX)=4 9、(AX)=2 10、(AX)=4 3已知数据定义如下,请计算变量PL的值是多少? DATA DB AB DATAl DB 10 DUP(?) PL EQU $-DATA答:PL=DATA+12-DATA=124已知A25、B15、C4,请计算下列表达式的值。 (1) A 50+B (2) A MOD C+B (3)(A+4)B-3 (4) B3 MOD 4 (5)A LE B (6) A XOR 50答:(1) A 50+B= 25 50+15=1250+15=12515 (2) A MOD C+B=25 MOD 4+15=1+15=16 (3)(A+4)B-3 =(25+4)15-3 =1500-3=1497 (4) B3 MOD 4 =15/3 MOD 4 =5 MOD 4 =1 (5)A LE B =25 LE 15 = 0 (6) A XOR 50 = 25 XOR 50 = 435已知内存DATA单元存放一个字数据,请统计其中含有0的个数,并送人RESULT单元的程序。答:程序如下:DATA1SEGMENTDATADW 1234hCOUNTDB 0DATA1ENDSCODESEGMENTASSUME CS:CODE,DS:DATA1START:MOV AX,DATA1MOV DS,AXMOV AX,DATAMOV CX,16LOP:TEST AX,8000HJNZ NEXTINC RESULTNEXT:ROL AX,1LOOP LOPINT 3CODEENDSEND START6已知从数据段TAB单元开始,顺序存放十六进制数0F的ASCII码,寄存器AL中的高四位二进制数是0、低四位是1。 请设计程序:用查表指令(XLAT)将寄存器AL中低四位的十六进制数转换为ASCII码。答:DATASEGMENT TABDB 0123456789ABCDEF DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,TABXLATINT 3CODEENDSEND START7已知从数据段BUF单元开始存放一个三字节的带符号数,请设计对其求补的程序。 答:DATASEGMENT BUF DB 97H,87H,9AHRES DB 3 DUP(?) DATAENDSCODESEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA BX,BUF LEA SI,RES MOV CX,3LOP: MOV AL,BXXOR AL,0FFHMOV SI,AL LOOP LOPCLC LEA SI,RES MOV CX,3LOP1: MOV AL,SIADC AL,0MOV SI,AL LOOP LOP1INT 3CODEENDSEND START 8已知从数据段BUF单元开始存放字节型的带符号数X和Y,请设计计算Y6X+8的程序。答:DATASEGMENT BUF DB 97H,87H ;X=97H和Y=87HDATAENDSCODESEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AH,0MOV AL,BUFSHL AX,1 MOV BX,AXSHL AX,1ADD AX,BXADD AX,8MOV BUF+1,ALMOV BUF+2,AHINT 3CODEENDSEND START 9已知X、Y是字节型的无符号数,请设计程序计算: X4 (0x10) Y X-10 (10X20) 答:程序如下:DATASEGMENTX DB 84HY DB 0DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,XCMP AL,10JAE NEXTSHR AL,1SHR AL,1JMP ENNEXT:SUB AL,10EN:MOV Y,ALINT 3CODEENDS 10已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。答:程序如下: DATA SEGMENTBUF DB 15DUP(?)MINUS DB 15 DUP(?) ;存放负数ZERO DB 15 DUP(?) ;存放0DATA ENDS CODESEGMENTASSUME CS:CODE,DS:DATAORG 100HSTART:MOV AX,DATAMOV DS,AXLEA BX,BUFMOV CX,15LEA SI,MINUSLEA DI,ZEROLOP:MOV AL,BXCMP AL,0JGE PZMOV SI,ALINC SIJMP NEXTPZ:JG NEXTMOV DI,ALINC DIJMP NEXTNEXT:INC BXLOOP LOPINT 3CODEENDSEND START 12编一程序将字符串STR(长度20字节)中所有&用$代替。答:程序如下:DATASEGMENTSTRDB G674GH&6TR677&74Y&98DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,STRMOV CX,20LOP:MOV AL,BXCMP AL,&JNZ NEXTMOV AL,$MOV BX,ALNEXT:INC BXLOOP LOPINT 3CODEENDSEND START13请设计程序,将存储器单元22002210H清0、2250H2260H置1、22AOH 22BOH置55H。要求写出主程序和子程序。解:程序如下: DATA SEGMENTBUF1 EQU 2200HBUF2 EQU 2200HBUF3 EQU 2200HDATA ENDSSTACK SEGMENT DB 20 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKBEG PROC FARSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA BX,BUF1MOV AL,0CALL FMOVLEA BX,BUF2MOV AL,1CALL FMOVLEA BX,BUF3MOV AL,55HCALL FMOV RETSTART ENDPFMOV PROC NEAR MOV CX,16 LOP: MOV BX,AL INC BX LOOP LOP RETFMOV ENDPCODE ENDS END BEG14编写程序,要求: (1)键盘键入两个字符串STRING1和STRING2 (2)比较两串所含字符是否完全相同,若相同则显示MATCH,若不相同则显示 NOMATCH。解:程序如下: DATA SEGMENTSTRING1 DB 10 DB ? DB 10 DUP(?) STRING2 DB 10 DB ? DB 10 DUP(?)XT DB MATCH,13,10,$ BXT DB NO MATCH,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,STRING1 MOV AH,10 INT 21HLEA DX,STRING2 MOV AH,10 INT 21H MOV AL,STRING1+1 CMP AL,STRING2+1 JNZ BD LEA SI,STRING1+2 LEA DI,STRING2+2MOV CH,0 MOV CL,ALLOP: MOV AL,SI CMP AL,DI JNZ BD INC SI INC DI LOOP LOP LEA DX,XTJMP DO1BD: LEA DX,BXTDO1: MOV AH,9 INT 21H MOV AH,4CH INT 21HCODE ENDS END START第六章 存储器1计算机的内存和外存有什么区别?答:内存储器(主存储器)用来存放当前机器运行的程序和数据,它是计算机主机的一部分,一般把具有一定容量且速度较高的存储器作为内存储器,CPU可直接用指令对内存储器进行读写。在微机中通常用半导体存储器作为内存储器。 外存储器用来存放当前暂时不用的程序和数据。外存储器是存储容量大、速度较低、位于主机之外的存储器。CPU不能直接用指令对外存储器进行读写。 要使用外存储器中的信息,必须先将它调入内存储器。2计算机的三级存储系统是什么?解决了什么实际问题?答:在现代微机中同时采用这两种存储层次,构成cache内存外存三级存储系统。这三级存储系统的形成,满足了现代微型计算机对存储系统的速度快、容量大且价格低廉的要求。cache内存存储系统解决了速度与成本的矛盾。cache内存外存三级存储系统解决了存储器的大容量和低成本之间的 矛盾。3半导体存储器有哪些优点?SRAM、DRAM各有何特点?SRAM的某一单元中存放一个数据,如05H,CPU将其取走后,该单元的内容是什么?答:半导体存储器有易读易写、体积小、集成度高、速度快的优点。 DRAM的特点是必须定时刷新、集成度高、功耗低、价格便宜。 该单元的内容是05H(不变)4ROM、PROM、EPROM、E2PROM各有何特点?各用于何种场合?答:掩膜式ROM 用定作掩膜对存储器进行编程,一旦制造完毕,内容固定不能改变。适合批量生产,但不适用于科研工作。 可编程式的ROM(PROM) PROM允许用户一次性写入,再也不可更改。因此,不适用于科研。 可擦除式的ROM(EPROM) EPROM允许用户多次写入信息,写入操作由专用的写入设备完成。写入之前应先擦除原来写人的信息。一种擦除方式为紫外光擦除,用紫外光照射15分钟左右,芯片中的信息被擦除,成为一块“干净”的EPROM,可再次写入信息。电擦除式的ROM(E2PROM),即用特定的电信号对其进行擦除,可在线操作,因此很方便。它的特点是写入时电压要求较高(一般为20V25V),写入速度较慢而不能像RAM那样作随机存取存储器使用。5EPROM存储器芯片还没有写入信息时,各单元的内容是什么?使用EPROM时应注意什么?答:FFH 对EPROM的擦除和写入都有专用设备,写入之前应确保芯片是“干净”的,即为全1状态。EPROM写入器(或称编程器)一般可对多种型号的EPROM芯片进行写入。通过读写芯片的识别码来确认该使用什么样的编程脉冲和编程电压。写入器由软件和硬件两部分组成,常与计算机配套工作。6若用4Kl位的RAM芯片组成16K8位的存储器,需要多少芯片?A19A0地址线中哪些参与片内寻址?哪些作为芯片组的片选信号?答:16K8/4Kl=48=228=32片 需要32片 4K=22 210=212 12根地址线 A11A0 22 2根地址线 A13A127下列RAM各需要多少条地址线进行寻址?各需要多少条数据IO线? (1)512K4 (2)1K8 (3)16K4 (4)64Kl答:(1)512K4 512K=29210=219 19根地址线 4 4根数据线(2)1K8 1K=20210=210 10根地址线 8 8根数据线(3)16K4 16K=24210=214 14根地址线 4 4根数据线(4)64Kl 64K=26210=216 16根地址线 1 1根数据线8已知某微机控制系统中的RAM容量为4K8位,首地址为4800H,求其最后一个单元的地址。答:最后一个单元的地址-首地址+1=4KB=212=1000H最后一个单元的地址=4800H+1000H-1=57FFH9设有一个具有14位地址和8位数据的存储器,问 (1)该存储器能存储多少字节的信息? (2)如果存储器由8K4位RAM芯片组成,需要多少片? (3)需要多少位地址用于芯片选择?答:(1)存储器的容量=2148=16K8=16KB 214个字节(16384个)(2) 16K8/8K4=22=212=4片(3) 21 1根地址线 A1310若用2114芯片组成2KBRAM,地址范围为3000H37FFH,问地址线应如何连接?(假设CPU只有16条地址线、8条数据线,可用线选法和全译码法。)答:2114芯片 1K42KB =2K8/1K4=28=218=16片 需要16片 1K=20 210=210 10根地址线 A9A0线选法: 21 1根地址线 A10 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 3000H

温馨提示

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

评论

0/150

提交评论