10.18汇编
写在笔记之前
今天一个上午都在做第5个实验,一方面是上午的时间比较少,另一方面也是这个实验的代码量增大。现在来看,我的汇编能力已经有了一点,王爽这本书写的确实是很好,相信能为我的二进制研究打下基础。希望今天能再看完一章。
…王爽汇编语言第四版第六章实验源码
assume cs:code,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
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0123h,0456h,0123h,0456h,0123h,0456h,0123h,0456h,0123h,0456h,0123h,0456h,0123h,0456h
stack segment
dw 0,0
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
assume cs:code,ds:data,ss:stack
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
data segment
dw 0123h,0456h
stack segment
dw 0,0
stack ends
end start
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,cs
sub ax,1
mov ss,ax
sub ax,1
mov ds,ax
sub ax,1
mov es,ax
mov cx,8
mov bx,0
s:mov ax,ds:[bx]
add ax,es:[bx]
mov ss:[bx],ax
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,cs
sub ax,1
mov ss,ax
mov sp,10h
sub ax,2
mov ds,ax
mov cx,8
mov bx,0
s:push [bx]
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
…10.17汇编
今天看了将近三章,效率还算不错
第四章过的很快,没什么特别的。
编译链接的过程
再强化一次,masm.exe:编译源代码,产生目标文件(.obj),link.exe:链接目标文件,产生可执行文件(.exe)。
…