指出MOV MYDAT [BX][SI], ES:AX 指令的错误
发布网友
发布时间:2023-08-08 21:57
我来回答
共3个回答
热心网友
时间:2023-09-28 01:13
ES:AX的写法就不对,若是寄存器寻址直接写AX就可;若是存储器寻址需要加上中括号,而且存储器寻址只允许用寄存器BX,BP,SI,DI这几个,规定是这样的当然不能用AX了
热心网友
时间:2023-09-28 01:13
这个答案不准确,ax寄存器就不能用于寄存器寻址。
在使用串操作指令时,不管是“源”还是”目的“,都应该考虑跨段的问题。为了避免跨段,在操作范围小于64K内存时,一般尽量将si、di都置为0,而将段寄存器置为可能的最大值。
若数据超过64K,必然有跨段问题,那应在编程时进行专门处理。
热心网友
时间:2023-09-28 01:14
第一个意思是将dat2和dat1的地址相减所得到的数字传递到cx中。这里在dat1中定义了‘abcdefghij’共10个字节长度的变量,而后在内存空间中紧接着就定义了dat2,所以dat2和dat1地址的差值就是dat1中字符变量的长度为10.第二个decsi的意思是把si自身的内容减一。这段程序的意思是将dat1中的十个字节变量依次倒序传送到dat2中相应的位置。自己多读两遍程序,一定可以看明白de~加油~
请改正下列指令的错误
(1)、MOV MYDAT[BX][SI],ax “es:”是段跨越前缀,只能用在存储器操作数前面,而“AX”是寄存器操作数,前面不能加段跨越前缀 (2)、MOV ECX, eAX (3)、MOV BX,OFFSET MYDAT 这个表达式是求“mydat[si]”的地址,即mydat+si,而汇编时,si的值是不确定的。(4)、MOV word PTR[...
lc-ms-ms检测
色谱检测服务热线18721007633, 江苏华简晟检测科技是研究性测试服务机构,基于多年的分析表征专业技术积累和辐射全国的服务网络,每年出具数万分技术报告,累计服务客户数千万家。
用合适的指令完成任务
1. Mov DX,45F6H 2. Mov BL,[100H]3. Lds BX,mydat 4. Push DS 5. Mov AX,0 2楼的没有错
求几套微机原理与接口技术的期末试题与答案
则(1)指令MOV AX,[BP+SI+2]的源操作数有效地址为__02E2H_,物理地址为_253E2H_(2)指令MOV AX,[DI+100H]的源操作数有效地址为_0306H__,物理地址为_21706H__.二、判断题 [判断下述指令的正误。正确的打“√”,错误的打“×”并说明理由]1.MOV MYDAT [BX] [SI],AX (√)2.MOV ...
mov 指令的几个问题
mov mydat[bx][si],es:ax 源操作数错误。“es:”是段跨越前缀,只能用在存储器操作数前面,而“AX”是寄存器操作数,前面不能加段跨越前缀 mov byte ptr[bx],1000 既然指定了BX所指向的单元是字节类型(byte ptr),那么它能够存放的数据最大是255。你要往里面放1000,肯定放不下,所以错误。...