MOV AX,DATAS MOV DS,AX

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 16:58:10

MOV AX,DATAS MOV DS,AX
MOV AX,DATAS MOV DS,AX

MOV AX,DATAS MOV DS,AX
mov ax, datas ;将伪段地址放入ax中,datas不是指令,而是伪指令,实际上是一个动态的内存地址,要想运行,必须先其地相放入到ds中,但是内存数不能放入段地址.所以
mov ds,ax ;就是将段地址装入段寄存器,最终达到了段地址装入段寄存器的目的!
在80X86中规定,内存数不可以直接装入段寄存器,所以才会有这样的一次中转!
datas不是指令字,而是伪指令,实际上你可以理解他为一个标签,将这个标签装入AX中,实际装入的就是数据段的首地址!
指令与伪指令的区别在在于,指令是属性指令集(属于CPU的),而伪指令则是属于编译软件的,扫描后由编译软件进行的操作.

MOV AX,DATAS MOV DS,AX start:mov ax,datasg mov ds,ax mov si,0 mov di, MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SI是多少? MOV AX,2000H和MOV AX,DS[2000H]的区别是什么? 3.下列指令中哪条是正确的( ) A.MOV DS,0200H B.MOV AX,[SI][DI] C.MOV BP,AX D.MOV BYTE PTR [BX] COD SEGMENT ASSUME DS:DAT,CS:COD MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DAT MOV DS,AX有什么作用? ①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么ds=0000?①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么③mov 指向bx,0000:0010 不是段地址*16+偏移地址吗?不是应该指向0010:0000吗?为 MOV AX,[2000] 为什么答案(DS)=30000H.AX,和DS个代表什么? mov AX,[BX][BP] 汇编语言的程序开始都有 PUSH DS MOV AX,0 PUSH AX 这三段有什么作用? 设(ds)=1000,(es)=2000,(bx)=200,(si)=100,计算下列指令中源操作数的物理地址1)mov ax,[100]2)mov ax,[bx]3)mov ax,[bx][100]4)mov ax,[bx][si]5)mov ax,[bx][si][-100]6)mov ax,es:[bx] 指出下列程序错误原因 MOV AL,BX MOV [1200],[SI] MOV DS,ES MOV DS,1000HMOV AL,BX MOV [1200],[SI] MOV DS,ES MOV DS,1000H MOV AX,[BX]与MOV AX,BX有什么区别 mov AX,[SI] 和 MOV [SI],AX 各自什么意思,有什么区别,假设DS=2000H,SI=1234H 程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗 MOV AX,ES:[2000H] MOV AX,[BX][SI]是什么意思 mov ax,bx 什么意思?