汇编语言题目求解!!!!

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

1.B
2.B
3.D
4.B
5.D

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无定义)

#这段代码里应该只有伪指令,没有指令,每一行用#注释一下先,我重抄一下
#用NASM的INTEL风格的汇编语言

ORG 1000H

#使程序从开头偏移1000H(字节)处(偏移0就是文件开头)开始汇编

TAB1 EQU 4321H
#均衡器1
TAB2 EQU 0003H
#均衡器2
DB“ MILK”
DW TAB1,TAB2,60
#60小时

代码整理如上,下面解题(题目就是问你汇编结果各个指定偏移量上的内容):
#汇编结果,总共1000H+4+2+2+2字节,前面的1000H都没用

(1000H)= 'M'
(1001H)= 'I'
(1002H)= 'L'
(1003H)= 'K'
(1004H)= 21H
(1005H)= 43H
(1007H)= 03H
(1008H)= 00H
(1009H)= 60
一会我再附上调试结果


c语言编程题目求解,求帮忙!急
include<stdio.h>#include<string.h>#define N 5struct Stu{ char* name[20]; double score1; double score2; double score3;};void select(Stu s[N]){ int i; for(i=0;i<N;i++){ if(s[i].score1+s[i].score2+s[i].score3>=270){ printf("满足条...

C语言编程题 求解
按照题意,表格使用结构链表实现。其中成员班级或工龄,使用自定义的联合体union(就是题目要求的共用体)。函数异常不做处理,直接抛出,你需要可以在调用时判断处理异常。include <stdio.h> include <malloc.h> typedef union info4 { char cName[10];\/\/班级名称 int wAge;\/\/工龄 }IO4;typedef ...

求解一道C语言基础编程题。
首先看一下程序的逻辑(虽然貌似题主应该不是在这一块有问题:关于ascii码的解释:首先得知道每个字符和数值的对应关系(图不清晰可看戳这里:ascii编码对应表 好了,现在看程序中的第一个if语句,在用大于、小于这些运算比较符比较char的时候,会自动转换为整数比较,也就是说‘0’会转换成48,‘1’...

C语言编程题目——求解
include<stdio.h> include<math.h> void main(){ int i,j,k;for(i=1;i<=4;i++){ for(k=4-i;k>0;k--){ printf(" ");} for(j=1;j<=i;j++){ printf("%d",j);} for(j=i-1;j>=1;j--){ printf("%d",j);} printf("\\n");} } include<stdio.h> include<math...

C语言编程求满足x<y<z条件下x² y² z²=55²有多少组整数解...
我们可以用C语言编写一个程序来求解这个问题。具体思路如下:根据题目条件,我们需要找出满足x<y<z的三个整数,使得它们的平方和等于55的平方。由于x、y、z均为正整数,因此我们可以枚举x、y、z的取值范围(比如从1到30),并在其中寻找符合条件的解。对于每组可能的解,我们可以计算它们的平方和,并...

C 语言编程题目求解!(急)
第一题:include<stdio.h> void main(){ int i,j,n;scanf("%d",&n);for(i=0;i<n;i++){ for(j=0;j<i;j++)printf(" ");for(j=i;j<2*n-1-i;j++)printf("%d",n-i);printf("\\n");} for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++)printf(" ");for(j=n-i...

两道汇编语言题目。。求解
2.ASSUME CS:CODE, DS:DATA ;--- DATA SEGMENT ;数据段 STRING01 DB 13, 10, 'Mon $'CHANG EQU $ - STRING01 STRING02 DB 13, 10, 'Tue $'STRING03 DB 13, 10, 'Wed $'STRING04 DB 13, 10, 'Thu $'STRING05 DB 13, 10, 'Fri $'STRING06 DB 13...

C语言编程题目,求解
首先,可以通过分析,发现每一项都是有规律的,可以通过函数求出每一项的值,然后再获取整个的和,代码如下:include<stdio.h>int main(){ int getSum(int n); int sum = 0; int N = 10;\/\/可以任意大小的项数 for(int i=1;i<=N;i++) { int temp = getSum(i); ...

问一个C语言编程问题。
给,已经编译运行确认:1. 当大马,中马,小马每种不能少于1匹,有多少种组合法。include<stdio.h> include<conio.h> int main(){ int i,j,k;int count=0;i=1;j=1;k=2;while(i<100){ while(j<100){ while(k<100){ if((i+j+k==100)&&(3*i+2*j+k\/2==100)){ printf("...

一个C语言的编程题目,请高手帮忙!谢谢!
\/*第一题:从键盘输入任意两个正整数x和y,编程求出两数的最大公因子和最小公倍数 \/ include <stdio.h> int main(void){ unsigned int x,y,i,a,b;printf("请输入两个正整数x和y:");scanf("%d %d", &x,&y);if (x < 2 || y < 2) { printf("无效的输入\\n");return 0;}...

罗平县19245928045: 单片机汇编语言求解(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

罗平县19245928045: 几道简单的汇编语言题求答案!我追加高的分数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 ...

罗平县19245928045: 汇编语言题目求解
雍券万复: 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

罗平县19245928045: 汇编语言问题求解 -
雍券万复: 1. 直接寻址.物理地址19003H2. 变址寻址.物理地址1C003H3. 基址加变址寻址.物理地址2BB40H4. 基址加变址寻址.物理地址20B03H 物理地址PA=所在段首地址左移4位+偏移地址EA

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

罗平县19245928045: 【汇编语言】 根据题目用汇编语言编一个程序 求大神求解! -
雍券万复: 框架:分配内存空间 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) 查找最高分...

罗平县19245928045: 求汇编语言大神解这道题 -
雍券万复: 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...

罗平县19245928045: 汇编语言题 求答案 -
雍券万复: 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

罗平县19245928045: 汇编语言题目 -
雍券万复: 第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

罗平县19245928045: 2道汇编题目求解!! -
雍券万复: data segmentbuffer db 3,1,5,2,4,8max db ?min db ?data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax lea si,buffer mov al,[si] mov max,al mov min,al xor cx,cx mo...

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