位置国家/地区和代码段

时间:2011-01-20 09:01:47

标签: assembly

如何为代码段计算这些位置计数器:

 0000               codesg Segment
                Assume cs:codesg,ds:datasg
 0000               Main proc Far
 0000  B8 ---- R            mov ax,seg datasg
 0003  8B D0                mov dx,ax
 0005  A1 000A R            mov ax,b2+2
 0008  50               push ax
 0009  A1 000A R        l1: mov ax,x
 000C  40               inc ax
 000D  3C 05                cmp al,5
 000F  75 09                jne l2
 0011  8B 0E 0008 R         mov cx,a2+2
 0015  E2 F2                loop l1
 0017  B8 0000              mov ax,0
 001A  CB           l2: ret
 001B               main endp
 001B               codesg ends

1 个答案:

答案 0 :(得分:0)

您只需将当前指令中的字节数添加到当前位置计数器,即可成为新的位置计数器。因此,如果从位置0开始并且您有一个3字节指令,则下一条指令的位置计数器将为3.