程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 06:32:14
程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗

程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗
程序开头push ds mov ax,0 push ax
这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗

程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗
这三条是是压栈指令,把返回操作系统的入口压入堆栈,使用这方法,你的程序结束的地方一定有一条返回指令,而MOV AH,4CH INT 20H
这种方法是通过DOS调用返回操作系统,他们的目的相同,只是用的方法不同,所以只要选一个就可以,现在用的比较多是后面一种

push ds;将ds寄存器压入栈
mov ax,0;将0传入ax寄存器
push ax;将ax压入栈.
都是汇编语句

程序开头push ds mov ax,0 push ax 这我知道,那开头为什么要用这程序,用这就不用MOV AH,4CH INT 20H吗 汇编语言的程序开始都有 PUSH DS MOV AX,0 PUSH AX 这三段有什么作用? [求助]程序开头定义的解释程序开头定义的解释 第一个不明白的地方……START:PUSH DS MOV AX,0 PUSH AX……请问为什么在程序开始就将DS入栈,还要将AX置0后再将其入栈第二个STACK SEGMENT STACK DB 256(?)ST COD SEGMENT ASSUME DS:DAT,CS:COD MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DAT MOV DS,AX有什么作用? start:mov ax,datasg mov ds,ax mov si,0 mov di, MOV AX,DATAS MOV DS,AX 求下面程序每步的说明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 ; 汇编语言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 ①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 AL,BX MOV [1200],[SI] MOV DS,ES MOV DS,1000HMOV AL,BX MOV [1200],[SI] MOV DS,ES MOV DS,1000H mov ecx,[0DB3A30] push 0 push 0 push 0 push -1 push 20 call 00418390 push-1是什么意思 MOV AX,2000H和MOV AX,DS[2000H]的区别是什么? 汇编语言 push ds sub ax,ax push ax 有什么用~ MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SI是多少? MOV AX,[2000] 为什么答案(DS)=30000H.AX,和DS个代表什么? 为什么每段开头都要有mov ax,data mov ds,ax两句,不是有assume定义过段了吗可能是我表述得不够清晰,希望有善解人意的哥哥姐姐详细帮我解答下. 微机原理题CS:2000H MOV AX,2012H2003H MOV CX,200CH2006H PUSH CX 2007H CALL 4000H200AH ADD AX,BX200CH ADD AX,DX200EH HLT… … … … CS:4000H MOV BX,200AHPOP DXRET上面的程序执行后:(AX)= (DX)= 3.下列指令中哪条是正确的( ) A.MOV DS,0200H B.MOV AX,[SI][DI] C.MOV BP,AX D.MOV BYTE PTR [BX]