微型计算机原理王忠民课后参考答案汇编语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.画图说明下列语句所分配的存储空间及初始化情况。

(1)

42H59H54H45H00HEEH00H07H01H02H01H02H07H00H07H01H02H01H02H07H00H07H01H02H0 1H02H07H

(2)00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H 00H00H01H00H02H00H07H00HFBHFFH59H42H45H54H02H56H

2.(PLENTH)=22H;它表示数据与的长度

3.(L)=06H

4.(1)MOVBXOFFSETLNAME

(2)MOVSIWORDPTRCODE_LIST

(3)MOVCODE_LENGTHEQU$-CODE_LIST

5.(AX)=10

(BL)=10

(CL)=1

6.(1).(AX)=1

(2).(AX)=2

(3).(CX)=20

(4).(DX)=40

(5).(CX)=1

7.是说明下列指令中那些需要加上PR伪指令定义符。

(1).不需要(2)不需要(3)SUB[BX],WORDBYTE2(或其他形式)(4).MOVCL,BYTEPTRWVAL

8.编一宏定义BXCHG,将一字节高4位和低4位交换。

BXCHGMARCOOPR

MOVAL,OPR

MOVCL,04H

ROLAH,CL

RORAL,CL

ORAH,AL

MOVOPR,AH

ENDM

9.已知宏定义,展开宏调用:OPPBH,BL,CH,CL

+MOVAX,BX

+XCHGAL,CL

+MOVAX,BL

+XCHGAL,CH

+MOVBL,AL

10.将寄存器中的16位数分成四组,每组四位,分别存放在AL,BL,CL和DL中。

MOVCH,04H

MOVCL,AL

MOVDL,AL

SHRCL,CH

ANDDL,AH

MOVAL,AH

MOVBL,AH

SHRAL,CH

ANDBL,0FH

11.试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示MATCH,若不相同则显示NOMATCH.

解:DATASEGMENT

STRING1DB‘ABCDE’

STRING2DB‘ABCDEF’

MESG1DB‘MATCH$’

MESG2DB‘MATCH$’

DATAENDS

STACKSEGMENT

BUFDB100DUP()

STACKENDS

CODESEGMENT

MAINPROCFAR

START:PUSHDS

MOVAX,0

PUSHAX

PUSHES

MOVAX,DATA

MOVDS,AX

MOVAL,STRING1

MOVCL,6

MOVSI,OFFSETSTRING1

MOVDI,OFFSETSTRING2

CLD

REPECMPSB

JZALLMATCH

MOVDXOFFSETMESG2

MOVAH,9

INT21H

RET

ALLMATCH:MOVDXOFFSETMESG1

MOVAH9

MOV21H

RET

MAINENDP

CODEENDS

ENDSTART

13.编写程序,将一个包含有20个数据的数组M分成两个数组,正数组P和负数组,分别把这两个数组中的数据的个数显示出来。

解:DATASEGMENT

MDB1,2,3,4,5,6,7,8,9,10

DB-1,-2,-3,-4,-5,-6,-7,-8,-9,-10

PDB20DUP()

NDB20DUP()

DATAENDS

CODESEGMENT

MAINPROCFAR

START:PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVAL,0

MOVSIOFFSETM

MOVCX20H

LOOP1:MOVBL,M[SI]

CMPAL,M[SI

JAELOOP2

MOVN,BL

INCSI

CMPCX,20H

JZLOOP3

JMPLOOP1

LOOP2:DECCX

MOVP,BL

INCSI

CMPCX,20H

JZLOOP3

JMPLOOP1

LOOP3:MOVDX,OFFSETP

MOVAH,9

INT21H

MOVDX,OFFSETN

MOVAH,9

INT21H

RET

MAINENDP

CODEENDS

ENDSTART

20.编写程序,求字节变量BVAR中的压缩BCD数转换为二进制数,并存入原变量中。

解:DATASEGMENT

BVARDW53H,00H

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:CODE,DS:DATA

START:PUSHDS

MOVAX,0

PUSHDS,AX

MOVAX,DATA

MOVDS,AX

MOVAL,BYTEPTRSW

MOVAH,AL

ANDAX,0F00FH

MOVCL,4

相关文档
最新文档