几个汇编语言小问题?

作者&投稿:本定 (若有异议请与网页底部的电邮联系)
~ 1、用直接寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。
mov bx,ARRAY[8]

2、用寄存器寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。
lea si,ARRAY[8]
mov bx,[si]

3、用相对寻址方式将首地址为ARRAY的字数组中第8个数送往寄存器BX中。
mov si,14
mov bx,ARRAY[si]

4、用基址变址寻址方式将首地址为ARRAY的字数组中第N个数送往寄存器BX中。
mov bx,(n-1)*2
lea si,ARRAY
mov bx,[bx][si]

5、将首地址为BCD_BUF存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。
LEA SI,BCD_BUF
LODSW
ADD AL,AH
DAA
MOV [SI],AL

分少了点吧。


汇编语言的高手请进,问几个简单题目
1 XOR AL,AL INC AL NEG AL INC AL MOV BL,7FH ADC AL,BL 答:上述程序运行后,AL=80H,CF=0 2 下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置非0。试把空白处填上适当的指令(一个空白只填一条指令)。答: xor ah,al AND AH,08H jz ZERO...

几个关于汇编语言的问题 急用 谢谢
LOOP指令,是循环指令,循环次数由计数寄存器CX指定。是否执行循环体的判断指令在循环体之后,所以,至少执行1次循环体,即至少循环1次。执行LOOP指令时,CPU自动将CX的值减1,若CX=0,则结束循环;否则,重复执行循环体。2.汇编语言离开程序回到DOS应使用哪个INT功能。MOV AH,4CH INT 21H 3.简介JMP\/...

汇编语言的一些小问题
1. 可以。你可以把数据放在任何的段里,例如:代码段、堆栈段。2. 可以。结束命令实际上就是告诉系统我的程序执行完毕,返回调用我的 程序的那个系统函数;所以你可以用POP来表示结束程序。POP EIP 查一下你的系统手册,有可能你要用多条POP来把堆栈上的系统函数的返回值 放入EIP寄存器中。

高手请进,问汇编语言程序设计问题
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:31. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:…若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?32.DA1 DB‘ABCDEFGHI’DA2 DB 9 DUP(0)┇ LEA SI,DA1 LEA DI,DA2 MOV CX,...

高分!!汇编语言的若干问题
5、如果对应不同硬件需要不同的汇编语言反复重新编写,那么这样的汇编语言种类是不是很多很复杂?是。6、高级语言是否是先编译成汇编指令再汇编成机器码,如果是这样高级语言在编译成汇编指令后如果汇编指令不能做到第三个问题那样,又是如何实现对各种高级语言和机器指令的协调统一的?高级语言,在这里就不...

几个汇编语言问题.高手帮忙解答下..
[SI],'A';有错,应该指定内存的属性为字节,改为MOV BYTE PTR [SI],'A'2.MOV AL,BX;有错,类型不匹配,AL为8位,BX为16位 3.MOV BL,SI+2;有错,应该改为MOV BL,[SI+2]4.INC [BX];正确 5.MOV 256,AL;有错,立即数256不能作为目的操作数 6.MOV AX,BYTE PTR ALFA;有错,...

汇编语言问题,题目如下,我知道答案,但不懂,求详细解释
数据段:10E4:0000~10E4:FFFF;附加段:10F4:0000~10F4:FFFF;堆栈段:21F0:0000~21F0:FFFF;代码段:31FF:0000~31FF:FFFF。以上,是按照 10000H 字节计算的。实际上,有些段是重叠的,重叠部分,可以用物理地址计算出来。OF = 0 DF = 0 ZF = 0 CF = 0 ...

关于汇编语言的小问题
- 21500H =)1000H个字节 3. 同上,代码段最多可存放代码字节总数的理论值是10000H个,起始地址是((CS)*10H = 2640H * 10H =)26400H,是三个段地址中最高的,也就是说数据段、堆栈段空间早在代码段之前就结束了。所以这里是没有被它们覆盖的空间的,可以存放10000H个字节的程序代码。

几个汇编语言的问题
1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H 2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H 3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=...

汇编语言的几个问题
c语言生成可执行文件后,你可以通过debug这个自带工具来加载程序,进行跟踪,原理就不介绍了,给你举个例子:假如你c盘下有个文件叫t.exe(c语言生成的)进入dos,输入cd,回车,输入,debug t.exe,回车,输入u命令,回车,就可以看到对应的汇编程序,机器码!不多说了!!!大概就这样 ...

鄂州市13357653826: 几个简单的汇编语言问题 -
束钧滴通: 1.判断下列汇编语句的正确性并说明原因 MOV [AX],BH ;错,AX不能加方括号来访问地址 MOV [SP],AX ;错,SP不能加方括号 OUT 10H,CL ;错,OUT指令中源操作数只能是AX或AL CMP 36H,AL ;错,CMP指令中目的操作数不能为立即数...

鄂州市13357653826: 几个汇编语言问题.高手帮忙解答下.. -
束钧滴通: ⒈ ⑴立即数寻址2000送给al2000h直接包含在代码段中 ⑵直接寻址 ea(物理地址)=30000h(段值)+2000h(偏移地址)=32000h 该指令ea为32000h的存储单元中的内容送给ax;⑶寄存器寻址 将bx中的内容送给ax 执行后 (ax)=0038h;⑷寄存...

鄂州市13357653826: 几个关于汇编语言的问题 急用 谢谢 -
束钧滴通: 1.loop循环功能应配合哪个缓存器 CX寄存器 LOOP指令,是循环指令,循环次数由计数寄存器CX指定.是否执行循环体的判断指令在循环体之后,所以,至少执行1次循环体,即至少循环1次.执行LOOP指令时,CPU自动将CX的值减1,若...

鄂州市13357653826: 关于汇编语言的两个简单问题 -
束钧滴通: 1、(1) mov ax,data+198(2) mov si,offset data add si,198 mov ax,[si](3) 实在想不起来什么了………… -_=|||2、AX=0300 内存中数据分配是这样的01 00 03 00 x+1,指向的字空间就是 00 03,换算成数字(低位在后,高位在前)就是0300h了

鄂州市13357653826: 单片机汇编语言的几个疑问 -
束钧滴通: 1、如果程序代码空间不紧张的话,建议你全部使用LJMP,或者如果跳转的目标段程序相隔很近,也可以使用SJMP.个人认为AJMP最麻烦:其机器码所标注的地址位从A10到A0,计11位,000H~7FFH,也就是说跳转到的地址与当前地址的A...

鄂州市13357653826: 有关汇编语言的几个问题,高手们解答一下啊,谢谢
束钧滴通: 1 mov bx,[di]2 add ax,bx3 shl al,24 sub al,buf15 mul ax,bx6 in al,10h7 8 inc ax9 xor dx,bx10 push cx

鄂州市13357653826: 几个汇编语言的问题 -
束钧滴通: 1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H 2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H 3.LEA BX,20H[BX...

鄂州市13357653826: 关于汇编的几个小问题
束钧滴通: mov al,block 中 block是变量名(符号地址),这里是直接寻址,取DS段block为偏移地址的那个字节单元的内容到al mov al,offset block 中offset block是取block的有效地址到 al mov ah,4ch int 21h 带参数的返回:参数在al里;终止当前程序,返回主调程序(大多数用于返回dos),如果是dos系统调用的,就返回dos 有效地址 16位,al改为bx

鄂州市13357653826: 关于汇编语言的一些问题
束钧滴通: 汇编写程序肯定会很难,主要是很繁杂,其实理解起来还是比较简单的. 初学汇编也会遇到一些问题,主要是因为对计算机底层不太熟悉.例如,刚接触到寄存器的时候,可能会觉得为什么可以使用的变量那么少呢,还怎么写程序啊...后来熟悉了才知道,原来变量是存在内存里面的,而寄存器只是用来临时存放变量的.类似的这些问题还有不少,不过花点时间慢慢熟悉了就好了.

鄂州市13357653826: 关于汇编语言的小问题 -
束钧滴通: 1. 数据段起始地址 = (DS)*10H = 2150H * 10H = 21500H2. 数据段中最多可存放数据字节总数的理论值是10000H个,即21500H单元到(21500H + FFFFH =)314FF单元,但是这里有一部分被堆栈段覆盖了,堆栈段起始地址为((SS)*10...

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