燕山大学试卷 密 封 线 共 10 页 第 4 页
资料个人收集整理,勿做商业用途
六、编程填空题,在括号里填上适当的指令或指令的一部分。(每空1分,共20分) 1、求双字型变量X、Y之和,结果存入变量Z中。 .MODEL SMALL .STACK .DATA X DD 12345678H Y DD 8A7B6C5DH Z DD ? .CODE .STARTUP MOV AX, WORD PTR X ; 取X的低16位 MOV DX, ( WORD PTR X+2 ) ; 取X的高16位 ADD AX, ( WORD PTR Y ) ; 加Y的低16位 ADC DX, ( WORD PTR Y+2 ) ; 加Y的高16位 MOV ( WORD PTR Z ), AX ; 存入Z的低16位 MOV ( WORD PTR Z+2 ), DX ; 存入Z的高16位 .EXIT END 2、判断变量X中有符号数的正负。若为正(包括零),显示“+”号;否则显示“-”号。 .MODEL SMALL .STACK .DATA X DB 12H .CODE .STARTUP CMP X, ( 0 ) ; 比较大小以判断正负 5 / 17
JGE L1 ; 若为正,则转分支一 6 / 17
燕山大学试卷 密 封 线 共 10 页 第 5 页
资料个人收集整理,勿做商业用途
MOV DL, ( '-' ) ; 分支二 ( JMP L2 ) L1: MOV DL, ( '+' ) ; 分支一 L2: MOV AH, ( 02H ) ; 用于显示的DOS系统功能调用 INT 21H .EXIT END 3、将变量SOURCE处的10个数据传送到变量RESULT处。 .MODEL SMALL .STACK .DATA SOURCE DB 1, 2, 3, 4, 5, -6, -7, -8, -9, 10 COUNT EQU $-SOURCE RESULT DB 10 DUP (?) .CODE .STARTUP MOV SI, OFFSET SOURCE MOV DI, OFFSET RESULT MOV CX, ( COUNT ) ; 设置循环次数 BEGIN: MOV AL, ( [SI] ) ; 取源串的一个数据 MOV ( [DI] ), AL ; 存入目的串中 INC SI INC ( DI ) ; 调整目的串数据的地址 DEC CX JNZ ( BEGIN ) ; 若未完成,则继续循环 .EXIT 7 / 17
END 8 / 17