作业3


操作码是E2,操作数是F2,IP = 1B
F2+1B = 0D(上溢)
所以跳转到CS:0D

操作码是E2 操作数是F0 IP是39
F0 + 39 = 29
所以跳转到CS:29






assume cs:code, ds:data
data segment
db 'try'
data ends
code segment
start:
mov ax,0b800h
mov es,ax ;显存的数据段
mov ax,data
mov ds,ax ;字符串的数据段
mov bx,0002H
call ptrstring
mov bx,1804H
call ptrstring
mov ah, 4ch
mov si, 0
int 21h
ptrstring:
mov bp,bx
mov si,0
mov bl, bh
mov bh, 0
mov ax, 160
mul bx
mov bx, ax
mov ah, 0
mov ax, bp
mov ah, al
mov cx,3 ;字符串长度10位
s:
mov al,ds:[si]
inc si
mov es:[bx],ax
add bx,2
loop s
ret
mov ax,4c00h
int 21h
code ends
end start
end

cs:code, ds:data
data segment
stu_no db '201983290397'
len = $ - stu_no
data ends
code segment
start:
mov ax, 0b800H
mov es, ax
mov di, 160H
mov si, 1
mov cx, 24
mov bx, 0
mov ax, data
mov ds, ax
s: mov bp, cx
mov cx, 80
s2: mov BYTE PTR es:[si], 16
add si, 2
loop s2
mov cx, bp
loop s
mov cx, 34
mov dx, 1
sub si, dx
s3:
mov BYTE PTR es:[si], 45
inc si
mov BYTE PTR es:[si], 23
inc si
loop s3
mov cx, 12
s4: mov al, ds:[bx]
mov es:[si], al
inc si
inc bx
mov BYTE PTR es:[si], 23
inc si
loop s4
mov cx, 34
s5: mov BYTE PTR es:[si], 45
inc si
mov BYTE PTR es:[si], 23
inc si
loop s5
mov ah, 4ch
int 21h
code ends
end start

浙公网安备 33010602011771号