新编汇编语言程序设计四五章习题参考解答计算机C资料_计算机-C++资料.pdf
《新编汇编语言程序设计四五章习题参考解答计算机C资料_计算机-C++资料.pdf》由会员分享,可在线阅读,更多相关《新编汇编语言程序设计四五章习题参考解答计算机C资料_计算机-C++资料.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、新编汇编语言程序设计四五章习题参考解答 1/29 习题四 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,如果两位全为
2、0,转移到 L3。写出对应的指令序列。答:MOV AL,X AND AL,0000 1010B JZ L3 CMP AL,0000 1010B JE L1 JMP L2 4.12 计算分段函数:2653XXY 3322XXX X的值从键盘输入,Y的值送显示器输出。答:INCLUDE YLIB.H DATA SEGEMNT MESS1 DB 0DH,0AH,Input value of X please:$新编汇编语言程序设计四五章习题参考解答 2/29 MESS2 DB 0DH,0AH,Y=:$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA STAR
3、T:MOV AX,DATA MOV DS,AX LEA DX,MESS1 CALL READINT;输入 X的值 CMP AX,-2 JGE L2 L1:SUB AX,3 ;AXX-3 JMP DONE L2:CMP AX,3 JG L3 MOV BX,AX ADD AX,AX ;AX2X ADD AX,AX ;AX4X ADD AX,BX ;AX5X ADD AX,6 ;AX5X+6 JMP DONE L3:MOV AX,2 ;AX2 DONE:志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示
4、器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 3/29 LEA DX,MESS2 CALL WRITEINT;输出 Y的值 CALL CRLF MO
5、V 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;最小的绝对值假
6、设为 32767 LEA SI,LIST 志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元
7、素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 4/29 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 S
8、TART 说明:一定要预设最小的绝对值和绝对值最小的数,而且这个绝对值最小的数必须来自 LIST数组。4.16 一个有符号字数组以 0 为结束标志,求这个数组的:最大值、最小值、平均值。答:DATA SEGEMNT LIST DW -56,+12,88,-126,-5,16,32,-99,72,-18,0 MIN DW?志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习
9、题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 5/29 MAX DW?AVG DW?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV MIN,32767 ;将 32767
10、假设为最小的数 MOV MAX,-32768 ;将-32768 假设为最大的数 MOV AVG,0 ;AVG 用作累加器,清零 LEA SI,LIST MOV CX,0 AGAIN:MOV AX,SI CMP AX,0 JZ DONE ;找到零元素,转 DONE 结束处理 INC CX ;纪录非零元素个数 ADD AVG,AX ;累加 CMP AX,MIN JGE SKIP1 MOV MIN.AX ;比预设最小值还小,保留 SKIP1:CMP AX,MAX JLE SKIP2 志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分
11、段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 6/29 MOV MAX,AX ;比预设最大值还大,保留 SKIP2:A
12、DD SI,2 JMP AGAIN DONE:JCXZ NULL ;元素个数为零,转 NULL处理 MOV AX,AVG CWD IDIV CX MOV AVG,AX ;计算平均值 JMP EXIT NULL:MOV MIN,0 ;元素个数为 0,将“最大值”、“最小值”MOV MAX,0 ;“平均值”清零 MOV AVG,0 EXIT:MOV AX,4C00H INT 21H CODE ENDS END START 4.21 编写程序,把一个 30 个元素的有符号字数组 ARRAY 按照各元素的正负分别送入数组 P和 M,正数和零元素送 P 数组,负数送 M数组。答:DATA SEGEMNT
13、 ARRAY DW 30 DUP(?);汇编之前置入数据 P DW 30 DUP(?)志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数
14、用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 7/29 M DW 30 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA BX,ARRAY ;ARRAY 数组指针 MOV SI,0 ;P数组指针 MOV DI,0 ;M数组指针 MOV CX,30 ONE:MOV AX,BX ;从 ARRAY 数组取出一个数据 AND AX,AL JGE PLUS ;正数、零转 PLUS MINUS:MOV M
15、DI,AX ;负数存入 M数组 ADD DI,2 JMP NEXT PLUS:MOV PSI,AX ;正数、零存入 P数组 ADD SI,2 NEXT:ADD BX,2 LOOP ONE MOV AX,4C00H INT 21H 志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的
16、绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 8/29 CODE ENDS END START 4.30 编写程序,输入 N,计算:S=1*2+2*3+(N-1)*N 答:INCLUDE YLIB.H CODE SEGMENT ASSUME CS:CODE MESS1 DB 0DH,0AH,Input N please:$MESS2 DB 0DH,0AH,S=$STA
17、RT:PUSH CS POP DS LEA DX,MESS1 CALL READDEC ;输入 N MOV CX,AX XOR BX,BX ;BX用作累加器 ONE:MOV AX,CX MOV SI,AX DEC SI MUL SI ;计算 J*(J-1)ADD BX,AX ;累加 LOOP ONE LEA DX,MESS2 MOV AX,BX 志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新
18、编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 9/29 CALL WRITEDEC ;输出结果 CALL CRLF MOV AX,4C00H INT 21H CODE ENDS END START 4.31 编写程序,输入 N,输出如下矩阵(设 N=5
19、)1 1 1 1 1 2 2 2 2 1 3 3 3 2 1 4 4 3 2 1 5 4 3 2 1 答:设 I 为行(15),J 为列(15),则(I,J)位置上的数据为:I(6-J)?I:6-J。INCLUDE YLIB.H CODE SEGMENT ASSUME CS:CODE START:CALL CRLF MOV SI,1 ;SI 为行号 ROW:MOV CX,5 ;CX为 6-列号 COL:CMP SI,CX ;判断当前位置 JB UP 志位的状态分别是测试名为的一个字节如果的第位均为转移到如果只有一位为转移到如果两位全为转移到写出对应的指令序列答计算分段函数的值从键盘输入的值送显
20、示器输出答新编汇编语言程序设计四五章习题参考解答输入的值第一个元素假设为绝对值最小的数最小的绝对值假设为新编汇编语言程序设计四五章习题参考解答求绝对值绝对值与假设的最小绝对值比较假设的绝对值较小跳过保存新的最小绝对值取出新的绝对值最小的数保留新的绝对值最小的结束标志求这个数组的最大值最小值平均值答新编汇编语言程序设计四五章习题参考解答将假设为最小的数将假设为最大的数用作累加器清零找到零元素转结束处理纪录非零元素个数累加比预设最小值还小保留新编汇编语言程序设新编汇编语言程序设计四五章习题参考解答 10/29 DOWN:MOV AX,CX ;下半三角,取 6-列号 JMP OUTPUT UP:MO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 汇编语言 程序设计 四五 习题 参考 解答 计算机 资料 C+
限制150内