;就是一个串str1, lea ebx, str1 然后我们ebx+1总是加上的是一个字节, 无论(串是word, byte, dword)
.386
.model flat
.stack 4096
include io.h
ExitProcess proto near32 stdcall, deExitCode:dword
cr equ 0dh
lf equ 0ah
.data
str1 byte 20 dup(?)
stringss byte "请输入一个数字并求其平方:", cr, lf
table dword 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100
.code
_start:
output stringss
input str1, 20
atod str1
lea ebx, table
add eax, eax;如果是dword的串,那么我们读取的第n个数据的值,那么首地址加上的值(到达该值中间的字节数)就是n*sizeof(dword)=n*4
add eax, eax;
xlat
;add eax, eax;模仿一下xlat的功能
;mov ax, word ptr [ebx+eax]
dtoa str1, eax
output str1
invoke ExitProcess, 0
public _start
end