硬件技术基础答案.docVIP

  • 16
  • 0
  • 约3.46千字
  • 约 6页
  • 2017-03-30 发布于江苏
  • 举报
硬件技术基础答案

读程序 1. MOV AX,5439H ADD AX,456AH 程序执行后,标志位SF、PF、ZF、AF、CF、OF的值为多少? 0101 0100 0011 1001 + 0100 0101 0110 1010 1001 1001 1010 0011 最高位=1,SF=1 低8位中偶数为4个,PF=1 运算结果不为0,ZF=0 低4位向前有进位,AF=1 最高位向前没有进位,CF=0 次高位向前有进位,Cs=0,Cp=1,OF=Cs . Xor. Cp=1 2. MOV AX,1200H ;____AL=00H________ MOV AX,BX ;___AL=00H_________ MOV AX,[1200H] ;____AL=2AH______ MOV AX,1100H[BX] ;___AL=2AH______ MOV AX,[BX][SI] ;____Al=56H_________ 3.将STR1字符串的后100个字符送到STR2中. 4. (1)JGE (2)CMP (3)XCHG 二、从键盘上键入20个字符,然后与键入字符的先后相反的顺序显示出来。 MYSTACK SEGMENT STACK  DW 30 DUP(?)  STACK_TOP LABEL WORD MYSTACK ENDS CODE SEGMENT  ASSUME CS:CODE,SS:MYSTACK START: MOV AX,MYSTACK MOV SS,AX MOV SP,OFFSET STACK_TOP MOV CX,20 IN_S: MOV AH,01H INT 21H PUSH AX LOOP IN_S ? MOV DL,0DH;输出回车 MOV AH,02H INT 21H MOV DL,0AH;输出换行 MOV AH,02H INT 21H MOV CX,20 OUT_S: POP DX MOV AH,02H INT 21H LOOP OUT_S ? MOV AH,4CH INT 21H CODE ENDS END START 将16位无符号二进制数化为十进制数,并输出结果。 DATA SEGMENT D_NUM DB 6_DUP(?) ;存放除完后得到的10进制数字 NUM DW 0000000111001000B ;要转换的无符号二进制数。 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BX,10 ;除数10 MOV SI,0 MOV AX,NUM ;存放被除数 L1: MOV DX,0 DIV BX MOV D_NUM[SI],DL;将存放在DL中的有 ;效十进制数字送至D_NUM。 INC SI CMP AX,0 JE L2 JMP L1 L2: MOV CX,SI ;将十进制数字的个数送CX OUT_L:DEC SI MOV DL,D_NUM[SI] OR DL,30H MOV AH,02H INT 21H LOOP OUT_L MOV AH,4CH INT 21H CODE ENDS END START 四、程序要求从键盘输入一个小于65536的十进制数,然后把该数以十六进制形式在屏幕上显示出来。 参考答案 DECIHEX SEGMENT ASSUME CS:DECIHEX REPEAT: CALL DECIBIN ;键入十进制数 CMP BX

文档评论(0)

1亿VIP精品文档

相关文档