assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?这个语句起什么作用?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 15:30:40
assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?这个语句起什么作用?

assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?这个语句起什么作用?
assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?
这个语句起什么作用?

assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?这个语句起什么作用?
我知道ds:data是干嘛的,我写了一下,你将就看吧,

在汇编时其实内部只有偏移地址寻址,而没有变量名寻址.
所以汇编时汇编软件会把你写的变量换成偏移地址.
而变量是在你假定的段里查找得到偏移地址,而实际上却是用ds:偏移地址来查找数据.
所以当ds(es)不指在assume的指明的段中也可以运行,只是会得到另一个段的相应偏移地址处的内容.如:
assume ds:段名1
mov ds,段2
mov ax,段1中的第二个变量
最终结果ax保存的是段2中的对应与段1中第二个变量相同地方的东西(注意是db,dw.)
编译器是在段1中查找变量名,并把变量转换为偏移地址,
但访问时使用ds:偏移地址
这时ds保存的是段2的段地址,所以访问到的是第二个段对应偏移地址的内容.

汇编语言assume cs:code,ds:datarea 中的: 汇编语言里 assume cs:code ,ds:data ,es:extra assume cs:code,ds:data,ss:stack 谁能清楚地解释它的意思吗?这个语句起什么作用? 求下面程序每步的说明DATA SEGMENT LIST DB 10,,10 DUP($)X DB DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX ,DATA MOV DS ,AX LEA DX,LISTMOV AH,0AHINT 21H ; 输入字符串MOV DL,10MOV AH,2INT 21H ;回车换行MOV AH,01HINT 21H ; SUB AL,07H 有什么用?DATA SEGMENT NUM DB ,SUM DB DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV CX,2 LEA SI,NUMS0:MOV AH,01H INT 21H CMP AL,'9' JBE NEXT SUB AL,07H -->有什么作用?NEXT:SUB AL,30H -->有什么作用? COD SEGMENT ASSUME DS:DAT,CS:COD MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DAT MOV DS,AX有什么作用? assume cs:codesg,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0 stack ends code segment start:mov ax,stack mov ss,ax mov sp,16 ;★将逻辑上设置的栈段真正设为栈 汇编中的lea si,string1是什么意思?把下边这个程序给解释一下:data segmentstring1 db 'Hello World!'len equ $-string1string2 db len dup(?)data endscode segmentmain proc farassume cs:code,ds:data,es:datastart:mov ax,datamov ds,axmov THE DA VINCI CODE怎么样 d ds dsad ada da 汇编语言mov ax,不太理解中括号在此处的用法可以改写成mov ax,可以解释下这个程序中[ ]的用法吗data segmentbuf db 'ABCDEF'num dw 72,-5,100hpoin dw 0data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axm 问一个很简单滴汇编.unable to open input data segmentT0 EQU 200HT1 EQU 201HT2 EQU 202HCTLT EQU 203Hdata endsCODE SEGMENTASSUME CS:CODE,ds:dataSTART:mov ax,datamov ds,axMOV DX,CTLTMOV AL 00100111OUT DX,ALMOV DX,T0MOV AL,50OUT DX,ALmov dx,CTLTM 统计正负数的个数.下面是我的代码、请高手指点.data segmentdat db 0ffh,54h,8ah,42h,62h,oc6hcount equ $-datt1 db 0;存负数个数t0 db 0;存正数个数data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axxor ax,ax 汇编总是提醒:error a2008::in instructionassume cs:code,ds:data,ss:stackdata segment db 'welcome to masm!'db02h,24h,71hdata endsstack segment dw 8 dup(0)stack endscode segment start:mov ax,datamov ds,axmov ax,stackmov ss,axmov sp,10hxor bx,bxm divide overflow急,32位除法源程序:.486DATA SEGMENTNUM1 DD 10000010HNUM2 DW 1000HNUM3 DW NUM4 DW DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,NUM1MOV AX,[SI]MOV DX,[SI+2];CWDMOV CX,NUM2;MOV CX,2DIV CXMOV NUM3,DXM 再帮我解几个题吧在正常EOI方式下,中断结束命令是清除( )中的某一位.A.IRR B.ISRC.IMR D.程序状态字分析程序,指出运行结果DATA SEGMENTSUM DB DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR A 达芬奇密码 DA VINCI CODE怎么样 assume