- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完美.格式.编辑
专业.资料.整理
习题四
4.5 已知(AX)= 836BH,X分别取下列值,执行“CMP AX, X”后,标志位ZF、CF、OF、SF各是什么?
(1)X=3000H (2)X=8000H (3)X=7FFFFH (4)X=0FFFFH (5)X=0
答:上述指令执行后,标志位ZF、CF、OF、SF 的状态分别是:
(1) ZCOS=0010 (2) ZCOS=0000 (3) ZCOS=0010 (4) ZCOS=0101
(5) ZCOS=0001
4.7 测试名为X的一个字节,如果X的第1,3位均为1,转移到L1,如果只有一位为1,转移到L2,如果两位全为0,
转移到L3。写出对应的指令序列。
答: MOV AL, X
AND AL, 0000 1010B
JZ L3
CMP AL, 0000 1010B
JE L1
JMP L2
4.12 计算分段函数:
X的值从键盘输入,Y的值送显示器输出。
答: INCLUDE YLIB.H
DATA SEGEMNT
MESS1 DB 0DH, 0AH, ‘Input value of X please : $’
MESS2 DB 0DH, 0AH, ‘ Y= : $’
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
LEA DX, MESS1
CALL READINT ;输入X的值
CMP AX, -2
JGE L2
L1: SUB AX, 3 ;AX←X-3
JMP DONE
L2: CMP AX, 3
JG L3
MOV BX, AX
ADD AX, AX ;AX←2X
ADD AX, AX ;AX←4X
ADD AX, BX ;AX←5X
ADD AX, 6 ;AX←5X+6
JMP DONE
L3: MOV AX, 2 ;AX←2
DONE:
LEA DX, MESS2
CALL WRITEINT ;输出Y的值
CALL CRLF
MOV AX, 4C00H
INT 21H
CODE ENDS
END START
4.14 编写程序,求10元素字数组LIST中绝对值最小的数,存入MIN单元。
答: DATA SEGEMNT
LIST DW -56, +12, 88, -126, -5, 16, 32, -99, 72, -18
MIN DW ?
MINABS DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, LIST
MOV MIN, AX ;将数组第一个元素假设为绝对值最小的数
MOV MINABS, 32767 ;最小的绝对值假设为32767
LEA SI, LIST
MOV CX, 10
AGAIN: MOV AX, [SI]
CMP AX, 0
JGE SKIP1
NEG AX ;求绝对值
SKIP1: CMP AX, MINABS ;绝对值与假设的最小绝对值比较
JGE SKIP2 ;假设的绝对值较小,跳过
MOV MINABS, AX ;保存新的最小绝对值
MOV AX, [SI] ;取出新的绝对值最小的数
MOV MIN, AX ;保留新的绝对值最小的数
SKIP2: ADD SI, 2
LOOP AGAIN
MOV AX, 4C00H
INT 21H
CODE ENDS
END START
说明:一定要预设最小的绝对值和绝对值最小的数,而且这个绝对值最小的数必须来自LIST数组。
4.16 一个有符号字数组以0为结束标志,求这个数组的:最大值、最小值、平均值。
答: DATA SEGEMNT
LIST DW -56, +12, 88, -126, -5, 16, 32, -99, 72, -18, 0
MIN DW ?
MAX DW
文档评论(0)