Assembly 如何将汇编语言循环部分更改为二进制代码?
在双过程汇编程序上,如果有如下的汇编代码Assembly 如何将汇编语言循环部分更改为二进制代码?,assembly,binary,Assembly,Binary,在双过程汇编程序上,如果有如下的汇编代码 test start 1000 first lda index ldx index read jsub strcpy ldch str,x comp eof jeq end lda index add one sta index
test start 1000
first lda index
ldx index
read jsub strcpy
ldch str,x
comp eof
jeq end
lda index
add one
sta index
ldx index
j read
strcpy td indev
jeq strcpy
rd indev
stch str,x
rsub
end lda index
index word 0
one word 1
str resw 5
indev byte x'f3'
eof byte x'000004'
end first
如何将其更改为二进制代码?尤其是跳跃部分?
循环段中的二进制代码重复的次数是否与实际执行的循环次数相同?当然不是。如果你事先不知道需要多少次呢?
每个标签都是代码内存中的地址。汇编程序将这些标签转换为地址。跳转会像汇编程序中的所有其他语句一样转换为二进制机器代码。当然不是。如果你事先不知道需要多少次呢?
每个标签都是代码内存中的地址。汇编程序将这些标签转换为地址。跳转会像assembler中的所有其他语句一样转换为二进制机器代码。如果要展开汇编时间循环,请使用assembler宏,而不是运行时分支指令。e、 g.在NASM中,
%rep 4
/…/<代码>%endrep。如果要展开汇编时间循环,请使用汇编程序宏,而不是运行时分支指令。e、 g.在NASM中,%rep 4
/…/<代码>%endrep。