我有一个数字存储在DL中,我需要这个数字最多三位数字?这是数字0-9的工作代码。 WriteNumber:
;; print out number in dl
push ax
push dx
add dl,"0"
mov ah,02h ; printing one char
int 21h
pop dx
pop ax
ret
例如,两位数字。我可以采取dl/10。然后打印出结
我在x86程序集上关注this tutorial。到目前为止,每个示例都使用作者称之为“C驱动程序”的程序,并使用程序集模块进行编译,以获得某些“初始化”。例如: int main(void) {
int ret = asm_main();
return ret;
}
然后使用C调用约定正常写入asm_main函数。我想知道C编译器生成的所需初始化究竟是什么,以及是否可以
在我的项目中,我需要使用内联装配,但它需要是Nasm,因为我对GAS不太了解。 我尝试: void DateAndTime()
{
asm
(.l1: mov al,10 ;Get RTC register A
out RTCaddress,al
in al,RTCdata
test al,0x80 ;Is update in progr