汇编语言题目 求解

作者&投稿:蹉世 (若有异议请与网页底部的电邮联系)
汇编语言题目求解~

AX=3FFFH, BX=3FFFH, CF=1

MOV CX,DX;CX=DX
NOT CX ;CX与DX相反
ADD CX,DX;CX=FFFFH
INC CX;CX=0
执行上述指令序列后,CX=_0_,ZF=_1_

MOV AL,DA1 ;56H→AL,AF=0,CF=0
ADD AL,DA1+2 ;56H+67H=BDH→AL,AF=0,CF=0
DAA ;BDH→23H→AL,AF=1,CF=1
MOV DA2,AL ;AL→DA2,AF=1,CF=1
MOV AL,DA1+1 ;78H→AL,AF=1,CF=1
ADC AL,DA1+3 ;78H+78H+CF=F1H→AL,AF=1,CF=0
DAA ;F1H→57H→AL,AF=1,CF=1
MOV DA2+1,AL ;AL→DA2+1,AF=1,CF=1

(DA2)=23H
(DA2+1)=57H
CF=1

十进制数加调整指令DAA(Decimal Adjust After Addition),该指令用于调整AL的值,该值是由指令ADD或ADC运算二个压缩型BCD码所得到的结果。压缩型BCD码是一个字节存放二个BCD码,低四位和高四位都是一个BCD码。

调整规则如下:
如果AL的低四位大于9,或标志位AF=1,那么,AL=AL+6,并置AF=1;
如果AL的高四位大于9,或CF=1,那么,AL=AL+60H,并置CF=1;
如果以上两点都不成立,则,清除标志位AF和CF。

经过调整后,AL的值仍是压缩型BCD码,即:二个压缩型BCD码相加,并进行调整后,得到的结果还是压缩型BCD码。

指令格式:DAA
受影响的标志位:AF、CF、PF、SF和ZF(OF无定义)

(DA2)=BDH
(DA2+1)=F0H
CF=0
应该是这个吧.


忻州市19288583411: 单片机汇编语言求解(1)把R0的内容送到R1(2)内部RAM10H单元的内容传送到A中(3)外部RAM1000H单元的内容送到R1(4)外部ROM2000H单元的内容... -
靳裕左炔:[答案] 1.mov a,r0 mov r1,a 2. mov a,10h 3.mov dptr,#1000h movx a,@dptr mov r1,a 4.mov dptr,#2000h movc a,@dptr mov 30h,a

忻州市19288583411: 几道简单的汇编语言题求答案!我追加高的分数1.外部RAM1000H单元内容送寄存器R2中2.内部RAM20H单元内容送外部RAM 1000H单元3外部RAM20H单元... -
靳裕左炔:[答案] 1.外部RAM1000H单元内容送寄存器R2中 MOV DPTR,#1000H MOVX A,@DPTR MOV R2,A 2.内部RAM20H单元内容送外部RAM 1000H单元 MOV A,20H MOV DPTR,#1000H MOVX @DPTR,A 3外部RAM20H单元内容送外部RAM1000H单元 MOV ...

忻州市19288583411: 汇编语言问题求解 -
靳裕左炔: 1. 直接寻址.物理地址19003H2. 变址寻址.物理地址1C003H3. 基址加变址寻址.物理地址2BB40H4. 基址加变址寻址.物理地址20B03H 物理地址PA=所在段首地址左移4位+偏移地址EA

忻州市19288583411: 汇编语言题目求解
靳裕左炔: 1、xor bx, bx xor ah, ah mov bx, ax mov cx, bx shl bx, 1 add bx, cx shl bx, 2 add ax, bx 2、 mov ax, ds mov es, ax mov si, 200h mov di, 100h mov cx, 200h rep movsb 3、 mov ax, array mov cx, 200 mov bh, [ax] lop1: test [ax], 1 jz lop2 cmp bh, [ax] jbe lop2 mov bh, [ax] lop2: inc ax loop lop1

忻州市19288583411: 简单的汇编语言求解.请问SOURCE DB N DUP (0) 这句话是什么意思?DB是什么意思? DUP是什么 意思,谢谢. -
靳裕左炔:[答案] SOURCE是标号,DB就是定义字节单元,N和DUP是配合使用的,表示重复N次,括号里面的是单元的初始值 综合来讲,就是定义一个名叫SOURCE的由N个字节组成的储存单元,同时赋给初值0 等同于C中的: char SOURCE[N]; memset(SOURCE,...

忻州市19288583411: 急求一道汇编语言的题的答案
靳裕左炔: main(){ int a,i;char x[16]; float b; scanf("%d",&a);printf("八进制为%o,十六进制为%x",a,a); for(i=0;i<=15;i++){b=a/2.0; a=a/2; if(b==(float)a) x[15-i]='0'; else x[15-i]='1'; }printf("二进制为%s",x);}

忻州市19288583411: 【汇编语言】 根据题目用汇编语言编一个程序 求大神求解! -
靳裕左炔: 框架:分配内存空间 NUM DB 30 DUP (?),最高分MAX DB ?与最低分MIN,总分SUM和平均成绩AVG 键盘输入:MOV AH,1 INT 21H 显示:MOV DL,ASCII码(加30H) MOV AH,2 INT 21H(输出回车换行0DH,0AH) 查找最高分...

忻州市19288583411: 汇编语言题目 -
靳裕左炔: 第3题:附加段的段地址为:4978H,左移4位得到其首地址为49780h, 段的长度为16KB即4000h,所以末地址为49780h+3fffh=4d77fh 第6题:压栈1次,sp-2;弹栈1次,sp-2+2;再压栈1次,sp-2+2-2=sp-2=100eh ax=1234h,bx=1234h 第7题: mov ax,0abcdh and al,0fh--------al=0dh and al,30h--------al=00h shl ah,cl---------ah=0b0h and ah,0f3h-------ah=0b0h 所以 ax=0b000h 第9题:结果就是buf1的字节数,即6

忻州市19288583411: 汇编语言题 求答案 -
靳裕左炔: data segment crlf db 13,10 buf db 100 dup (?),'$' data ends code segment main proc far assume cs:code, ds:data start: mov ax,data mov ds,axlea si,buf @1: mov ah,01h int 21hcmp al,13 jz @2 mov [si],al inc si jmp @1@2: lea dx,crlf mov ah,09h int 21hmov ah, 4ch int 21h main endp code ends end start

忻州市19288583411: 求汇编语言大神解这道题 -
靳裕左炔: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23验证程序如下:CODE SEGMENTASSUME CS:CODEDA2 DW 'AC','BD' START:PUSH CSPOP DSPUSH CSPOP ESMOV AX,WORD PTR DA2+1 MOV AH,4CHINT 21...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网