微机原理_第二版_课后作业第五~八章(朱金钧).docxVIP

  • 152
  • 0
  • 约3.77万字
  • 约 63页
  • 2016-11-26 发布于重庆
  • 举报

微机原理_第二版_课后作业第五~八章(朱金钧).docx

微机原理_第二版_课后作业第五~八章(朱金钧)

第5章 汇编语言程序设计教材习题解答1. 下列语句在存储器中分别为变量分配多少字节?VR1DW9VR2DW4 DUP(?)CONT EQU10VR3DDCONT DUP(?)VR4DB2 DUP(?,CONT DUP(0))VR5DB‘HOW ARE YOU?’【解】VR1:2B ; VR2:8B ; CONT:1B ; VR3:40B; VR4:44B; VR5:12B2. 根据下列数据定义,写出各条指令执行后的结果TABLEDW100 DUP(?)ARRAYDB‘ABCD’RESDB?(1) MOV AX,TYPE RESAX=( )(2) MOV BX,TYPE TABLE BX=( )(3) MOV CX,LENGTH TABLE CX=( )(4) MOV SI,SIZE TABLESI=( )(5) MOV DI,LENGTH ARRAYDI=( )【解】(1) AX=1 (2) BX=2 (3) CX=100 (4) SI=200 (5) DI=43. 下面定义的是一个数据段,请图示它们在存储器中的存放形式。DATA SEGMENTA DB 1,2,3,4B DB ‘ABCD’C DB 4 DUP(0)N EQU 12X DW 33,0302HY DD 0ABCDHDATA ENDS【解】注:括号中为段内偏移地址(0000H) A1(0008H) C003H20(0011H) Y0CDH300ABH4000H(0004H) BA(000CH) N1200HB(000DH) X17H...C00HD02H4. 试定义一个完整的数据段,首先将10个压缩的BCD码29存放在ARRAY变量字节单元,紧接着把-28,6,45,39,3存放在ALPHA数组变量的字单元中,最后从字节变量BUFFER单元开始预留100个空单元备用。【解】DATA SEGMENTARRAY DB 10 DUP(29H)ALPHA DW -28,6,45,39,3 BUFFER DB 100 DUP(?)DATA ENDS5. 请定义一个结构,描述一个学生的简况。该结构应含有以下内容:姓名、年龄、性别、籍贯、民族、入学成绩、名次。说明如何定义结构变量和引用结构变量。【解】STUDENTSTRUCNAMEDW 5 DUP(?) AGE DB (?)SEX DW (?)HOMEPLADW 10 DUP(?)RACE DW 5 DUP(?)GRADE DB (?)SORT DB (?)STUDENT ENDS定义结构变量的格式:结构变量名 结构名 〈字段值表〉例如:STU1 STUDENT 〈1,‘ZHANG’〉引用结构变量的格式:结构变量名.结构字段名,例如:STU1.NAME6. 实现满足下面要求的宏定义。(1) 任意两个单元中的数据相加存于第三个单元中。(2) 任意8位寄存器中的数据转换为ASCII码并在屏幕上显示。【解】(1) 宏定义的代码段如下:ADDMMACROM1,M2,M3MOV AX,[M1]ADDAX,[M2]MOV[M3],AXENDM(2) 设8位寄存器存储的是无符号数,最高位是百位。宏定义的代码段如下:ADDMMACRO Y;形式参数Y代表一个8位寄存器MOV AL,Y XOR AH,AHMOV DL,100DIV DLADD AL,30HMOV DL,ALMOV AL,AH;存余数MOV AH,2INT 21H;显示百位数XOR AH,AHMOV DL,10DIV DLADD AL,30HMOV DL,ALMOV AL,AH;存余数MOV AH,2INT 21H;显示十位数ADD AL,30HMOV DL,ALMOV AH,2INT 21H;显示个位数ENDM7. 对下面程序进行注释,并说明其功能。DATASEGMENTADB‘123ABC’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,AMOV CX,6MOV AH,2LP:MOV AL,[BX]XCHG AL,DLINC BXINT 21HLOOP LPMOV AH,4CHINT 21HCODEENDSEND START【解】注释如下:DATA SEGMENT;数据段开始ADB‘123ABC’DATA ENDS;数据段结束CODE SEGMENT;代码段开始ASSUME CS:CODE,

文档评论(0)

1亿VIP精品文档

相关文档