|
1鱼币
mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov bx,0 ;data中数据定位(和idata结合,用于年份和收入)
mov si,0 ;table中定位(和idata给合用于定位存放数据的相对位置)
mov di,0 ;data中用于得到员工数
mov cx,21
s:
mov ax,ds:[bx]
mov es:[si],ax
mov ax,ds:[bx+2]
mov es:[si+2],ax
mov ax,ds:[bx+54H]
mov dx,ds:[bx+56H]
mov es:[si+5],ax
mov es:[si+7],dx
mov ax,ds:[di+0A8H]
mov es:[si+10],ax
mov ax,es:[si+5]
mov dx,es:[si+7]
div word ptr es:[si+10]
mov es:[si+13],ax
add si,16
add di,2
add bx,4
loop s
mov ax,4c00h
int 21h
code ends
end start
、、、
这段代码 为什么定义 add si,16就可以定义行,我明白一行16个字节 我不明白他为什么执行一次后 可以跳转到1403:0010
而且es为什么是和si来配合 我一直以为es:ip
我记得书上是ds:ip ss:ip这样配合
说的有点混乱 一直卡壳在这个问题上 都6个小时了 还没弄懂
|
|