. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->INT指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  13.1实验做完,这个还是比较好弄  [待解决] 回复[ 3次 ]   点击[ 709次 ]  
dmhorse
[帖 主]   [ 发表时间:2010-12-20 16:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-26 22:22
;几句话就搞完了。


DATAS SEGMENT
    ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
        ;mov ds:si => es:di
        mov ax,cs
        mov ds,ax
        mov si,offset jump
                
        mov ax,0
        mov es,ax
        mov di,0200h
        
        mov cx,offset endjump - jump
    rep movsb
    
    ;set up 7ch
    mov es:[07ch * 4],0200h
    mov es:[07ch * 4 + 2],0
    
    int 7ch
        
    MOV AH,4CH
    INT 21H
    
  ;jmp ptr
  jump:
          push bp
          mov bp,sp
          ;bp,ip,cs,flag
          add [bp+2],bx
          pop bp
          iret
  endjump:
          nop
    
    
CODES ENDS
    END START
michael1947
[第1楼]   [ 回复时间:2011-03-29 09:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-16 22:23
要求不是让但不跟踪吗?观察int、iret指令执行前后cs、ip和栈中的状态了吗?没发现问题吗?
michael1947
[第2楼]   [ 回复时间:2011-03-29 09:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-16 22:23
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1014&qkSg=2&qID=59115
看看这个一块想想吧
a9876b
[第3楼]   [ 回复时间:2013-02-09 17:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-02-01 18:03
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset pst
mov ax,0
mov es,ax
mov di,200h
mov cx,offset pe-offset pst
cld
rep movsb

mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0

mov ax,4c00h
int 21h

pst:push di
push si
push ds
push ax

push cx
push es
push dx
mov ax,0b800h
mov es,ax
mov al,160

mul dh
mov di,ax
pop dx
mov ax,2
mul dl
add di,ax
next:mov al,[si]
mov es:[di],al
inc di
mov es:[di],cl
inc di
inc si
cmp al,0
je outs
jmp short next
outs:pop es
pop cx

pop ax
pop ds
pop si
pop di
iret
pe:nop
code ends
end start
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved