文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言补充作业和答案

汇编语言补充作业和答案

汇编语言补充作业和答案
汇编语言补充作业和答案

《微机系统与接口技术》汇编补充作业

2.指出下列8088指令的错误:

(1)MOV AH, BX

(2)MOV [BX], [SI]

(3)MOV AX, [SI][DI]

(4)MOV MYDAT[BX][SI], ES:AX (5)MOV BL, 1000

(6)MOV CS, AX

(7)MOV DS, BP

(8)XLAT BX

(9)IN AX, 0382H

(10)OUT AX, 20H

答:(1 )两个操作数长度不一致

(2 )两个操作数不能都是存储器操作数

(3 )变址寻址方式不能使用两个变址寄存器

(4 )寄存器寻址没有段超越用法

(5 )两个操作数长度不一致(或1000 超出字节数据范围)

(6 )CS不能做目的寄存器

(7)段寄存器只能由通用寄存器对其操作,BP不能对通用寄存器进行操作(8 )XLAT 中BX是隐含操作数

(9 )IN指令中16 位端口地址要用DX作为操作数

(10)OUT指令两个操作数反了

3. 按要求编写下面的程序段

1)利用移位指令计算DX=3×AX+7×BX,假设为无符号数运算,无

进位。

2)用逻辑运算指令实现数字0~9的ASCII码与非压缩BCD码的互相

转换

3)把DX.AX中的双字右移4位

4)假设从4A00H:0000开始的4个字节中存放了4个非压缩的BCD

码,现在按照低地址对低位,高地址对高位的原则,将他们合并到

DX中。

答:1)MOV CX, AX

SHL AX, 1 ; AX*2

ADD AX, CX ; AX*3

MOV DX, BX

MOV CL, 3

SHL DX, CL ; BX*8

SUB DX, BX ; BX*7

ADD DX, AX

2)MOV AL, ’0’

LOP: AND AL, 0FH

INC AL

CMP AL, ‘:’

JNE LOP

MOV AL, 0

LOP1: OR AL, 30H

INC AL

CMP AL, 0AH

JNE LOP1

3) MOV CL,4

SHR AX,CL

MOV BL,DL

SHR DX,CL

SHL BL,CL

OR AH,BL

4)MOV AX, 4A00H

MOV DS, AX

MOV CL, 4

MOV SI, 0

MOV AL, [SI]

AND AL, 0FH

MOV DL, AL

INC SI

MOV AL, [SI]

SHL AL, CL

OR DL, AL

INC SI

MOV AL, [SI]

AND AL, 0FH

MOV DH, AL

INC SI

MOV AL, [SI]

SHL AL, CL

OR DH, AL

4. 请说明下面两段程序的功能

1)mov si, 600h

mov di, 601h

mov ax, ds

mov es, ax

mov cx, 256

std

rep movsb

2)cld

mov ax, 0fefh

mov cx, 5

mov bx, 3000h

mov es, bx

mov di, 2000h

rep stosw

答:1 )从DS:600H 开始将向低地址方向的256 字节向高地址移动一个字节位置。

2 )从3000:2000h 开始连续存放5 个0fefh

5.假设DS=2000H. BX=1256H, SI=528FH, 位移量TABLE=20A1H,

[232F7H]=3280H, [264E5H]=2450H, 试问执行下列段内间接寻址的转移指令后,转移到有效地址是什么?

i.JMP BX

ii.JMP TABLE[BX]

iii.JMP [BX][SI]

答: (1)1256H (2)3280H (3)2450H

6.判断下列程序段跳转到条件

(1)XOR AX, 1E1EH

JE EQUAL

(2)TEST AL, 10000001B

JNZ THERE

(3)CMP CX, 64H

JB THERE

答:(1) (AX)=1E1EH (2) (AL) 的最高位和/ 或最低位为1 (3) (CX)<64H

7.如果条件跳转指令的跳转目标范围超出-128~127的范围,该如何处

理?举例说明。

答:可以把跳转条件做一些调整,利用无条件跳转的跳转范围大,来达到目的,如:

CMP AX, 33

JE LONG

……; 大于127 字节

LONG:

改为:

CMP AX, 33

JNE SHOETER

JMP LONG

SHORTER:……; 大于127 字节

……

LONG:

8.按要求编写下面的程序段

1)当DX高4位全为0时,使AX=0,否则AX=-1。

2)已知字符串string包含有256BYTE的内容,将其中所有的‘$’符

号替换成空格(‘’)。

3)所谓回文字符串是指一个字符串正读和倒读都是一样的,例如字符

串‘ABCDEFFEDCBA’就是一个回文字符串,而字符串

‘ABCFDDCAB’就不是回文字符串。现在有一个字符串string,

包含有16个字节的内容,请编写程序段,判断该字符串是否为回

文字符串。

4)统计以‘$’字符结束的字符串string的字符个数。

答:

1 )

TEST DX, 0F0H

JZ OK1

XOR AX, AX

JMP OK2

OK1:MOV AX, -1

Ok2: …

2 )

MOV CX, 256

MOV AL, ‘$’

MOV AH, ‘’

LEA BX, string

LP: CMP [BX], AL

JNZ NEXT

MOV [BX], AH

NEXT:INC BX

DEC CX

JNZ LP

3)

LEA SI,string

MOV DI, 15

ADD DI, SI

LP: MOV AL, [SI]

CMP AL, [DI]

JNZ NO ; 不是回文

INC SI

DEC DI

CMP SI, DI

JB LP

……; 是回文

NO:……; 不是回文

4)

MOV CX,0 ;放字符个数

LEA SI, string

LP: MOV AL, [SI]

CMP AL, ’$’

JE EXIT

INC SI

INC CX

JMP LP

EXIT:

9.设置CX=0,则LOOP指令将执行多少次?例如:

mov cx, 0

delay: loop delay

答:将执行65536 次

10.在下面程序段的括号中如果分别放上下面的指令

(1)LOOP L20

(2)LOOPNE L20

(3)LOOPE L20

试说明,当程序执行完时 AX, BX, CX, DX四个寄存器的内容分别是什么?

MOV AX, 01

MOV BX, 02

MOV CX, 03

MOV DX, 04

L20: INC AX

ADD BX, AX

SHR DX, 1

( )

RET

答:

(1 )(AX)=4, (BX)=11, (CX)=0, (DX)=0

(2 )(AX)=4, (BX)=11, (CX)=0, (DX)=0

(3 )(AX)=2, (BX)=4, (CX)=2, (DX)=2

11.下面两条短转移指令的转移地址A10和A20分别是多少?(用16进制

来表示)

(1)0110 EB F7 JMP A10

(2)0110 EB 09 JMP A20

指令地址(16进制)指令码汇编语句

答:(1 )A10=0109H (2 )A20=011BH

12.按要求编写下面的程序段

1)将ELEMS中的100个字节数据的位置颠倒过来(即第一个字节和

第100个字节的内容交换,第二个字节和第99个字节的内容交

换……)。

2)有两个3位的ASCII码字串ASC1和ASC2定义如下:

ASC1 DB ‘578’

ASC2 DB ‘694’

ASC3 DB ‘0000’

请编写计算ASC3=ASC1+ASC2的程序段。

3)编写四字节ASCII码串‘3785’与ASCII数码‘5’相乘的程序段。答:1 )

LEA SI, ELEMS

MOV DI, SI

ADD DI, 99

MOV CX,50

LP : MOV AL, [SI]

XCHG AL, [DI]

XCHG AL, [SI]

INC SI

DEC DI

DEC CX

JNZ LP

2)

CLC ; 清CF

PUSHF

LEA SI,ASC1+2 ; 从个位开始加,DB '578' 等同于DB '5','7','8' LEA DI,ASC2+2

LEA BX,ASC3+3

MOV CX,3 ; 计算的数有位

A20: MOV AH,0

MOV AL,[SI]

SUB AL,30H; ; ASCII码转BCD码

MOV DL,[DI]

SUB DL,30H ; ASCII 码转BCD码

POPF

ADC AL,DL

AAA ; 非压缩BCD码加法调整

PUSHF

ADD AL,30H ; BCD 码转ASCII 码

MOV [BX],AL

DEC SI

DEC DI

DEC BX

LOOP A20

POPF

ADD AH,30H

MOV [BX],AH

3)

MOV CX,4

LEA SI,MULCND+3

LEA DI,PRODUCT+4

AND MULPLR,0FH ; ASCII码转BCD码

A30: MOV AL,[SI]

AND AL,0FH ; ASCII码转BCD码

MUL MULPLR

AAM ; BCD码乘调整

ADD AL,[DI]

AAA ; BCD码加法调整

OR AL,30H

MOV [DI],AL

DEC DI

MOV [DI],AH

DEC SI

LOOP A30

OR BYTE PTR [DI],30H

13.请编写完整程序在一个升序字节数组中查找数N,找到后将此数从数

组中删除,并使得CF=0;没找到返回CF=1。数组的首地址和末地址为A_HEAD和A_END。

答:

DATA SEGMENT PARA 'DATA'

A_HEAD DW ?

BUFF DB 1,2,3,4,5,6,7,8,9,0

COUNT EQU $-BUFF

A_END DW ?

N DB 4

DATA ENDS

CODE SEGMENT PARA 'CODE'

ASSUME CS:CODE, DS: DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUFF

MOV A_HEAD,SI

MOV AL,COUNT

CBW

ADD AX,SI

MOV DI,AX

DEC DI

MOV A_END,DI

MOV AL,N

LP: CMP AL,[SI]

JNE NEXT

JMP DEL

NEXT: INC SI ;考察下一个数据

CMP SI,DI

JBE LP ; 循环

STC ;CF<-1

JMP EXIT

DEL: CLC ;CF<-0

CMP SI,DI

JNE DELDATA

DEC A_END ; 删除的是最后一个元素

JMP EXIT

DELDATA:MOV CX,DI

SUB CX,SI

LP2: MOV AL,[SI+1] ; 该循环将SI+1 到DI位置的数据移动到SI 到DI-1 的位置

MOV [SI],AL

INC SI

LOOP LP2

DEC A_END ; 调整结尾指针

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

14.请编写完整程序从键盘读取字符,如果是十进制的‘0’~‘9’则在

屏幕上输出该数的8位二进制码,并将数字依次存放到BUF开头的数组中,如果读入的字符是’Q’或者‘q’,则程序退出,其他情况在屏幕上打印“You must input 0~9, or ‘q’ or ‘Q’”。

(如输入的字符是‘9’,则输出“00001001”)

提示:语句“Y ou must input 0~9, or ‘q’ or ‘Q’”定义成以’$’结尾的字符串,键盘输入和屏幕输出,请参看教材后的DOS功能调用(int 21h)的相关功能。

输出一个数的2进制形式应该从最高位开始输出,可以将此段程序定义成一个过程。

答:;'"You must input 0~9, or 'q' or 'Q'"。

DATA SEGMENT PARA 'DATA'

sentence db 'You must input 0~9, or "q" or "Q\"','$'

buf db 20 dup(?)

DATA ENDS

CODE SEGMENT PARA 'CODE'

ASSUME CS:CODE, DS: DATA

MAIN PROC FAR PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX MOV SI,0

DOIT: MOV AH,1 INT 21H

CMP AL,'Q'

JNE NEXT

JMP EXIT

NEXT: CMP AL,'q' JNE NEXT1

JMP EXIT

NEXT1: SUB AL,30H JC PRINT

JMP NEXT2 PRINT: MOV AH,9 LEA DX,SENTENCE INT 21H

CALL CRLF

JMP DOIT

NEXT2: CMP AL,9 JG PRINT

MOV CX,8

CALL CRLF PRNDATA:SHL AL,1 JC IS1

MOV DL,'0'

JMP OUTBIN

IS1: MOV DL,'1' OUTBIN: PUSH AX MOV AH,2

INT 21H

POP AX

LOOP PRNDATA CALL CRLF

JMP DOIT

EXIT: RET

MAIN ENDP

CRLF PROC NEAR ;回车换行

PUSH AX

PUSH DX

MOV DL, 0DH ;回车

MOV AH, 2

INT 21H ; 输出DL中的字符

MOV DL, 0AH ; 换行

MOV AH, 2

INT 21H ; 输出DL中的字符POP DX

POP AX

RET

CRLF ENDP

CODE ENDS

END MAIN

汇编语言大作业

辽宁师范大学计算机与信息技术学院综合性实验报告 课程名称:汇编语言 实验题目:菜单程序设计 学生姓名:孙蕾 专业:计算机科学与技术 学号:20101118050005 实验日期: 2012.5.10 实验成绩:

一、实验目的 设计菜单程序,实现各种功能,设计分支程序,重键盘输入字符。二、实验内容 (1)参考示例5-8设计菜单程序,包含示例5-2、示例5-3及退出三个菜单项。将示例5-2改为从键盘输入X;示例5-3增加显示功能,显示出统计个数。(P120、P101、P106) (2)选作:参考P213第9章示例9-3,在屏幕上清屏、开窗口,将菜单程序带颜色地显示在窗口中。提示:可利用P223宏库9-4.mac中的功能。 三、实验过程(含结果抓图) 1.输入程序代码 data segment x dw ? y dw ? cc db 0ah,0dh,'Y=$' mess0 db 0ah,0dh,0dh,'****************MENU******************' db 0ah,0dh, '*1. calculate Y=5X-18: *' db 0ah,0dh, '*2. count the numbers of a string: *' db 0ah,0dh, '*3. exit *' db 0ah,0dh, '*^^ please select... *' db 0ah,0dh, '**************************************' db 0ah,0dh,' $' mess1 db 0ah,0dh,0dh,'please input a string :$' c db 0ah,0dh,0dh,'please input a number :$' mess2 db 0ah,0dh,'numb:$' mess3 db 0ah,0dh,'capi:$' mess4 db 0ah,0dh,'lett:$' mess5 db 0ah,0dh,0dh,'thank you for using!!$' numb db 10 dup(?) capi db 10 dup(?) lett db 10 dup(?) data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax let0:mov dx,offset mess0 mov ah,9 int 21h

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4C B765H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH;偏移地址=bx=0100h (4)AX=3412H;偏移地址=bx=0100h (5)AX=4C2AH;偏移地址=bx+1100h=1200h (6)AX=7856H;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov[sp],ax (7)mov ax,bx+di

(8)mov20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[SI] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop[bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx;bx=0f79h pop[bx];DS:[0f79h]=8057h

汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( B )。 A.(AX)=1001H; B.(AX)=0FFFH; C.(AX)=1000H; D.(AX)=0111H。 6.串指令中的目的操作数地址一定是由____A_ _提供。()A.ES:[DI] ; B.SS:[BP]; C.DS:[SI] ; D.CS:[IP]。 7.将DX的内容除以2,正确的指令是( C )。 A.DIV 2 ; B.DIV DX,2 ; C.SAR DX,1; D.SHL DX,1。 8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。 A.目标程序; B.汇编语言源程序; C.可执行程序; D.汇编程序。 9.用一条指令仅实现将AX←BX+SI的方法是( D )。 A.XCHG AX,[BX][SI] ; B.MOV AX,[BX+SI]; C.LEA AX,BX[SI] ; D.LEA AX,[BX][SI]。 10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。 A.1FFFH; B.1998H; C.1FFEH; D.2002H。 2. C 二、指出下列指令的出错原因,并改正。(每小题2分,共12分) 1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX TEST BX,[SI] 5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX] SUB AX,[BP+SI] 或:MOV AL,[BX] SUB AL,[BP+SI] 6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分) 1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并

汇编语言 第二版 王爽 完整答案

第1章基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。 (2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。 (3)1KB的存储器可以存储1024*8个bit,1024个Byte。 (4)1GB、1MB、1KB分别是2^30、2^20、2^10 Byte。(n^m的意思是n的m次幂) (5)8080、8088、80286、80386的地址总线宽度分别是16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次、80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。 第2章寄存器答案 检测点2.1 (1) 写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=6246H mov ax,bx AX=826CH add ax,bx AX=04D8H mov al,bh AX=0482H mov ah,bl AX=6C82H add ah,ah AX=D882H add al,6 AX=D888H add al,al AX=D810H mov ax,cx AX=6246H (2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点2.2 (1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。 (2) 有一数据存放在内存 20000H 单元中,先给定段地址为SA,若想用偏移地址寻到此单元。

汇编语言习题

汇编语言习题 一、单项选择题 1. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。 A、名字项 B、操作项 C、操作数项 D、注释项 2. 在汇编语言程序中,对END语句的叙述正确的是()。 A、是一可执行语句 B、表示程序执行到此结束 C、表示源程序到此结束 D、在汇编后要产生机器码 3. 汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是() A、Variable B、First & ld C、0FFFFH D、'Memphis' 4.用一条指令仅实现将BX+SI=>AX的方法是() A、XCHG AX,[BX][SI] B、MOV AX,[BX+SI] C、LEA AX,BX[SI] D、LEA AX,[BX][SI] 5.设 SP初值为2000H,执行指令"PUSH AX"后,SP的值是() A、1FFFH B、1998H C、2002H D、1FFEH 6.条件转移指令JC产生程序转移的条件是() A、CF=1 B、CF=0 C、CF=1和ZF=1 D、CF=1和ZF=0 7.选用串操作指令时,错误的操作是() A、置方向标志位 B、根据串操作指令设置重复次数并送入CX C、设置源操作数及目的操作数指针 D、源操作数和目的操作数都可以加段超越 8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]后,正确的结果是() A、AL=5FH SF=1 CF=1 B、AL=60H SF=1 CF=0 C、AL=5FH SF=0 CF=1 D、AL=60H SF=0 CF=0 9.设AX=1000H,执行NOT AX指令后,正确的结果是() A、AX=1001H B、AX=0EFFH C、AX=1000H D、AX=0111H 10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( ) A、85B92H B、86192H C、BB690H D、12169H 11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是() A、AX,BX,CX,DX B、DS,ES,CS,SS C、SP,BP,IP,BX D、SI,DI,BP,BX 12. 循环指令LOOPNZ终止循环的条件是( )。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1 13. 设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 A、 AH=01,AL=05 B、 AH=1 AL=15 C、 AH=0 AL=0FH D、 AH=0 AL=05 14. 下面的数据传送指令中,错误的操作是()。 A、 MOV SS:[BX+DI],1000H B、 MOV DX,1000H C、 MOV WORD PTR[BX],1000H D、 MOV DS,2000H 15.DA1 EQU BYTE PTR DA2 DA2 DW 0ABCDH ┇ SHL DA1,1 SHR DA2,1

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

单片机补充作业

5-40 以中断方式,用汇编语言编写定时器T0方式0,1,2下,定时1ms 的程序。设系统focs = 12MHz 。 解1:方式0 确定装入T0的常数。机器周期为: 设所需初值为x ,则 =1C18H = 1 1100 0001 1000B 根据13位定时器的特性,TH0放x 的高8位,TL0放低5位,我们将x 值重排如下:x = 1110 0000 1 1000,即得本任务的时间常数为:TH0 = E0H ,TL0 = 18H 。 ORG 0000H AJMP MAIN ORG 000BH LJMP TIME0INT ORG 0050H MAIN : MOV SP ,#60H MOV TMOD ,#00H MOV TL0,#18H MOV TH0,#0E0H SETB ET0 ;允许T0中断 SETB EA ;开放总中断 SETB TR0 ;启动T1定时 SJMP $ TIME0INT : CLR T R0 ;禁止T0 CLR E T0 RETI ;中断返回 END ORG 0000H AJMP MAIN ORG 000BH LJMP TIME0INT ORG 0050H MAIN : MOV SP ,#60H MOV TMOD ,#01H MOV TL0,#18H MOV TH0,#0F0H SETB ET0 ;允许T0中断 SETB EA ;开放总中断 SETB TR0 ;启动T1定时 SJMP $ TIME0INT : CLR TR0 ;禁止T0 CLR ET0 s MHz μ 112)(12=分频3 613101101)2(--?=??-x 7192102313=-=x

汇编语言程序的设计试卷与答案

汇编语言程序设计试卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 ① 无符号十进制数136 ② 带符号十进制数-120 ③ 压缩型BCD码十进制数88 ④ 8位二进制数-8的补码表示 2.指令指针寄存器是()。 ① IP ② SP ③ BP ④ PSW 3.当执行指令ADD AX,BX后,若AX的内容为2BA0H, 设置的奇偶标志位PF=1,下面的叙述正确的是()。 ① 表示结果中含1的个数为偶数 ② 表示结果中含1的个数为奇数 ③ 表示该数为偶数 ④ 表示结果中低八位含1的个数为偶数 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是()。 ① MOV AL,00H ② AND AL,00H

③ XOR AL,AL ④ SUB AL,AL 5.下列指令执行后总是使CF=0,OF=0的是()。 ① AND ② NEG ③ NOT ④ INC 6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。 ① MOV AX,BX ② MOV BX,AX ③ PUSH AX POP BX ④ MOV CX,AX MOV AX,BX MOV BX,CX 7.设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 ① AH=01,AL=05 ② AH=1 AL=15 ③ AH=0 AL=0FH ④ AH=0 AL=05 8.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

汇编语言部分作业题(含答案)

一、填空题 1、编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。字符区首地址及其长度为变元。 宏定义如下: CLRB MACRO N, CFIL MOV CX, () CLD MOV ( ), ' ' ;;取空格符的ASCII码 () DI, CFIL REP ( ) ( ) 正确答案: 第一空: n 第二空: al 第三空: LEA 第四空: STOSB 第五空: endm 我的答案:得分: 6.6分 第一空: N 第二空: AL 第三空: LEA 第四空: STOSB 第五空: ENDM 2、某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在WAG中。请将周工资的计算编写成一条宏指令WAGES. 宏定义如下: WAGES MACRO RATE, HOUR, WAG MOV (), HOUR ;;计算周工资(WAG),公式为:HOUR* RATE MOV BL, RATE MUL BL MOV WAG, AX MOV AL, HOUR ;;计算奖金存入(AX),公式为:HOUR/10的商*3 MOV AH, 0

MOV BL, 10 DIV () MOV BL, () MUL () ADD WAG, ();;计算周工资总数 ENDM 正确答案: 第一空: al 第二空: bl 第三空: 3 第四空: BL 第五空: AX 我的答案:得分: 6.6分 第一空: AL 第二空: BL 第三空: 3 第四空: BL 第五空: AX 3、下面的程序段是二进制到十六进制转换程序,请填空。 mov ch, 4 rotate: mov cl, 4 rol bx,() mov al, bl and al,() add al, 30h ; ’0’~’9’ ASCII 30H~39H cmp al, 3ah jl printit add al,() ; ’A’~’F’ ASCII 41H~46H printit: mov() , al mov ah, 2 int 21h () jnz rotate 正确答案: 第一空:

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言期末考试试题及答案

汇编语言模拟试题及答案 一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分) 1.指令JMP FAR PTR DONE 属于参考答案为:C A .段内转移直接寻址 B ?段内转移间接寻址 C .段间转移直接寻址 D ?段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A ?对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令 B ?对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令 C .对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D .对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令 [解析]对于无符号数和有符号数的比较都采用CMP 指令; CMPS 指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转 移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH ,请给出这个数 据区最末一个字单元的物理地址是参考答案为:C A . 12CSBH B . 12B6BH C. 12C59H D . 12BFEH [解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+( 128 —1) >2 即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A . MOV AL ,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D . MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的 [BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B ?外循环初值应置外循环之内;内循环初值应置内循环之内 C ?内、外循环初值都应置外循环之外

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

汇编语言课后作业

《汇编语言》课后作业 第一次作业 1、编写程序,将AX寄存器中的16位数,每连续4位分成一组,共4组, 然后把这4组数分别放在AL、BL、CL和DL寄存器中。用Debug工具调试程序,查看每条指令执行后,各寄存器的变化。 第二次作业 1、编写程序求数据段中8个字节型数据的累加和。部分代码如下。 Assume cs:codesg, ds:datasg Datasg segment DB 02H,13H, 02H, 35H, 1AH, 35H, 00H, 12H DW 0H ;此字型单元用来保存累加和 Datasg ends 第三次作业 1、编写程序,将内存中03FF:0~03FF:F中的16个数据复制到内存 0000:200~0000:20F中。 2、编写程序,利用堆栈将内存中03FF:0~03FF:F中的16个数据逆序复制到 内存0000:200~0000:20F中。 第四次作业 1、编写程序,在命令行窗体中输出如下图案(红底绿字高亮闪烁)。

程序执行效果,请在DOS命令行下运行zy4.exe文件。 第五次作业 1、编写程序,将数据段中的字符串完成大小写转换。字母字符大写转换成 小写,小写转换成大写,其他字符不变。 如:datasg segment db '$BaSic!InfOrIon*' datasg ends 程序执行后,数据段中的字符串变成了’$bAsIC!iNFoRiON*’。 是有debug工具查看数据段内容如下: 1)执行转换前,数据段的内容如下图 2)执行转换后,数据段的内容如下图 选做题(该题不计入课后作业成绩) 1、编写程序,将数据段中的字型数据以10进制的形式显示。 如:data segment dw 35A6H data ends 35A6H十进制值为13734,显示为13734,如下图:

汇编语言课后习题答案___郑晓薇(整理后的)

习题一 1 无符号数: 11010011=211=D3H,01110111=119=77H, 10000011=131=83H, 00101111=47=2FH, 10101010=170=AAH 带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H, 00101111=+47=2FH,10101010= -86=AAH 2 5E8AH,0BE6H,3DEH,4940H 3 00011101+00110101=01010010=5 2H=82 01001001+11101000=00110001=3 1H=49 10111110+01010010=00010000=1 0H=16 10011010+11110001=10001011=8 BH= -117 4 00101001+01010011=01111100+0 0000110=10000010=82H=82 01110011-00100100=01001111-00000110=01001001=49H=49 01100110+00011000=01111110+0 0000110=10000100=84H=84 0000000100110010+01110101=00 00000110100111+00000110 =0000001000000111=0207H=207 5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H 6 无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码 (2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255 (3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码 (4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码 8 (1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H (2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H (3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H (4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD 码0000001001010100,ASCII码323534H 9 (1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0 (2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0 (3) -74+29=11010011B,CF=0, SF=1,ZF=0,OF=0 (4) -92-37=01111111B,CF=1, SF=0,ZF=0,OF=1 10 回车、换行、响铃、ESC键、空格键、@、P、p 习题二 9 最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节) 10 CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP 11 字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。 12 对于字节单元来说,偶地址和奇地址一样;对于字单元而言,最好用偶地址保存,可减少CPU的访存次数。 13 首单元的物理地址=38AE8H,末单元的物理地址 =38AE8H+7FFFH=40AE7H

汇编语言程序第二次作业

一、单项选择题(只有一个选项正确,共10道小题) 1. 若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND 30)后BX的内容是:()。 (A) 20 (B) 30 (C) 5 (D) 10 你选择的答案:未选择 [错误] 正确答案:A 解答参考: 2. 假设(AL)=10010010, MOV CL,4 SHL AL,CL 执行上述指令后CF和AL的内容是()。 (A) AF=1,(AL)=00001001 (B) AF=0,(AL)=00001001 (C) AF=1,(AL)=00100000 (D) AF=0,(AL)=00100000 正确答案:C 解答参考: 3. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。 TEST BH,01H _____K1 (A) JNE (B) JZ (C) JS (D) JC 正确答案:A 解答参考: 4. 已知标号NEXT与指令MOV AX,TYPE NEXT在同一个段内,则AX的值为()。

(A) 0 (B) 1 (C) 2 (D) -1 正确答案:B 解答参考: 5. DATA SEGMENT BUF DB 1,2,3,4,5 COUNT EQU -BUF DATA ENDS 在以上数据段中COUNT的值为( ) (A) 3 (B) 5 (C) 4 (D) 6 正确答案:B 解答参考: 6. 下列是8位二进制数的补码,其中真值最大的是()。 (A) 10001000 (B) 11111111 (C) 00000000 (D) 00000001 你选择的答案:未选择 [错误] 正确答案:D 解答参考: 7. 16位有符号数的补码所表示的十进制数的范围是()。 (A) -32767~+32768 (B) -32768~+32767 (C) -65535~+65536 (D) 0~65535 你选择的答案:未选择 [错误] 正确答案:B 解答参考:

汇编语言试题(有答案))

汇编语言试题及参答案 一、填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为(1),否则ZF为(0)。当ZF为1时,SF为(0) 2.标号可以有两种类型属性。它们是(近程)和(远程) 3.8位无符号整数的表示范围为0--255,写成16进制形式为(0--FFH),8位有符号整数的表示范围为-128--+127,写成16进制形式为(80H--7FH) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(GROUP),不得有名字的是(NAME),可有可无名字的是(DB)。 5.循环程序通常由(循环准备)(循环体)(循环的控制与修改)和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/(高)于+,-;XOR,OR(低)于AND,LT(等)于GT 7. 宏指令定义必须由伪指令(MACRO)开始,伪指令(ENDM)结束,两者之间的语句称为(宏定义体) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法(约定寄存器法)(约定存储单元法)(向量传递法) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW(POP AYW) (2)双字变量AYD存放的地址指针送ES和SI(LES SI,AYD) (3)变量AY2类型属性送AH(MOV AH,TYPE AY2) (4)不允许中断即关中断(CLI) (5)将字符串‘HOW ARE YOU!’存入变量AYB(AYB DB“HOW ARE YOU!”) (6)子程序返回调用程序(RET) (7)地址表达式AYY[4]的偏移地址送字变量ADDR(MOV ADDR,OFFSET AYY[4]) (8)AX的内容加1,要求不影响CF(INC AX) (9)BX的内容加1,要求影响所有标志位(ADD BX,1) (10)若操作结果为零转向短号GOON(JZ GOON) 二、单选题 1.IBM PC微机中,有符号数是用(2 )表示的 1.原码2.补码3.反码4.BCD码 2.把汇编源程序变成代码程序的过程是(2 ) 1.编译2.汇编3.编辑4.链接 三、己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。指出下列非法语句的错误原因 1.POP CS(CS不能作目的操作数) 2.INC [BX] ( ) 3.MUL 8( 乘法指令源操作数不能是立即数) 4.JLE LPFAR( ) 5.MOV DB,1800( 立即数不能直接送段寄存器) 6.MOV[DI],VAR1 两个操作数不能同时为存储器操作数 7.SUB AX,VAR2( 操作数不配,AX为字,VAR2为字节) 8.CMP SS AX(段寄存器不能作为运算指令的操作数) 四、简答题

相关文档
相关文档 最新文档