Compare commits

...

1 Commits

Author SHA1 Message Date
Yourtion
26efbb4a1b 使用指针替代write_mem8 2014-09-10 15:25:55 +08:00
2 changed files with 6 additions and 10 deletions

View File

@@ -1,12 +1,14 @@
void io_hlt(void);
void write_mem8(int addr, int data);
void HariMain(void)
{
int i; /* 声明变量i是32位整数 */
int i; /* 声明变量ii是32位整数 */
char *p; /* 声明变量p、用于BYTE [...]地址 */
for (i = 0xa0000; i <= 0xaffff; i++) {
write_mem8(i, i & 0x0f);
p = (char *)i;
*p = i & 0x0f;
/* 替代write_mem8(i, i & 0x0f); */
}
for (;;) {

View File

@@ -6,16 +6,10 @@
[BITS 32] ; 3制作32位模式用的机器语言
[FILE "naskfunc.nas"] ; 文件名
GLOBAL _io_hlt,_write_mem8
GLOBAL _io_hlt
[SECTION .text]
_io_hlt: ; void io_hlt(void);
HLT
RET
_write_mem8: ; void write_mem8(int addr, int data);
MOV ECX,[ESP+4] ; [ESP+4]中存放的是地址将其读入ECX
MOV AL,[ESP+8] ; [ESP+8]中存放的是数据将其读入AL
MOV [ECX],AL
RET