BUF开始的内存区存2个无符号字数据,写源程序比较其大小,大数存MAM开始的字单元小数存入MlN?

BUF开始的内存区存2个无符号字数据,写源程序比较其大小,大数存MAM开始的字单元小数存入MlN?,第1张

CODE SEGMENT

ASSUMECS:CODE

BUF DW1234,5678

MAX DW?

MIN DW?

START: PUSH CS

POP DS

PUSH CS

POP ES

LEA SI,BUF

MOV AX,[SI]

MOV BX,[SI+2]

CMP AX,BX

JA@1

MOV MAX,BX

MOV MIN,AX

JMP @2

@1:

MOV MAX,AX

MOV MIN,BX

@2:

MOV AH,4CH

INT 21H

CODE ENDS

END START

1、已知AX=0FF60H,CF=1

MOV DX,96

XOR DH,0FFH

SBB AX,DX

执行上述指令序列后,AX=_ffffh,CF=__1

2、设寄存器AL,BL,CL中内容均为76H,

XOR AL,0FH

AND BL,0FH

OR CL,0FH

执行上述指令序列后,AL=__79h

BL=______06h_____,CL=_____7fh_____

3、已知AX=0A33AH,DX=0F0F0H

AND AH,DL ah=a0h

XOR AL,DH al=cah

NEG AH

NOT AL

执行上述指令序列后,AH=___60h___,AL=____35h____

4、DATA SEGMENT

S9 DB0,1,2,3,4,5,6,7,8,9

DATA ENDS

LEA SI,S9

LEA,DI,S9+1

MOV CX,5

LOP: MOV AL,[SI]

XCHG AL,[DI]

MOV [SI],AL

ADD SI,2

ADD DI,2

LOOP LOP

上述程序段运行后,S9开始的10个字节存储单元内容是什么?

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

5、MOV AL,38H

MOV BL,49H

CALL SUBO

INC AL

DEC CL

SUBO PROC

ADD AL,BL

MOV CL,AL

DAA

RET

SUBO ENDP

上述程序段运行后,AL=______88h___,CL=____80h___

6、DA3 EQU WORD PTR DA4

DA4 DB 0ABH,89H

SHR DA3,1

MOV DX,DA3

SHL DA4,1

MOV CX,DA3

上述程序段运行后,CX=___10ccH______,DX=_____1066H___

四、程序填空题(注意:下列各小题中,每空只能填一条指令!每小题6分,共12分)

1、下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。试把空白处填上适当指令。

xor ah,al_____

AND AH,08H

jnz zero_____

MOV AH,OFFH

JMP NEXT

ZERO:MOV AH,0

NEXT:……

2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。

BUF DB 5,6,7,58H,62,45H,127,……

COUNT EQU $-BUF

MAX DB?

MON BX,OFFSET BUF

MOV CX,COUNT-1

MOV AL,[BX]

LOP1:INC BX

cmp al,[bx]____

JAE NEXT

MOV AL,[BX]

NEXT:DEC CX

jz lop1____

MOV MAX,AL

五、编制程序题(第1小题6分,第2小题14分,共20分)

1、编定程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是"Y",则转向YES程序段;如字符是"N",则

转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。(考生勿需写出源程序格式,只需写出与试题要求有关的指令序

列)

(YES和NO分别是两程序段入口处的标号)

CODE SEGMENT

ASSUME CS:CODE

BEGIN:

MOV AH,01h

INT 21H

CMP AL,'Y'

JZ YES

CMP AL,'N'

JZ NO

JMP BEGIN

YES:..

...

...

NO:...

...

...

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

2、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以

SUM为首址的数据区中。

DATA SEGMENT

BUF1 DW-56,24,54,-1,89,-8……

BUF2 DW45,-23,124,345,-265,……

SUM DW10DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

BEGIN:

MOV AX,DATA

MOV ES,AX

MOV DS,AX

LEA SI,BUF1

MOV BX, OFFSET BUF2

LEA DI,SUM

MOV CX,10

L1:

MOV AX,[SI]

ROL AX,1

JC L2

ROR AX,1

L4:

MOV DX,AX

MOV AX,[BX]

ROL AX,1

JC L3

ROR AX,1

L5:

ADD AX,DX

MOV [DI],AX

INC BX

INC BX

INC SI

INC SI

INC DI

INC DI

LOOP L1

JMP LAST

L2:

ROR AX,1

NEG AX

JMP L4

L3:

ROR AX,1

NEG AX

JMP L5

LAST:

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11272717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存