![]() |
![]() |
|
| ¼Áµ¿±þÅú |
| ¤Ï¤¸¤á¤Þ¤·¤Æ | ||
| ||
|
¤Ï¤¸¤á¤Þ¤·¤Æ¡¢¤³¤³¤Î¥Ú¡¼¥¸¤ò¸«¤Æ¥¢¥»¥ó¥Ö¥ê¸À¸ì»Ï¤á¤Æ¤ß¤Þ¤·¤¿¡£ ¤½¤³¤Ç¼¡¤Î¤è¤¦¤Ênasm¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢ ¤É¤¦¤â¤¦¤Þ¤¯Æ°¤¤Þ¤»¤ó¡£ %define INIT_SEG 0x07C0 %define INIT_ESP 0xFFF0 org INIT_SEG segment .text start: cli mov ax,cs mov ds,ax mov es,ax mov ss,ax mov esp,INIT_ESP sti mov al,0x75 call printc mov ax,hello call prints jmp $ printc: mov ah,0x0e int 0x10 ret prints: mov si,ax prints_start: lodsb cmp al,'$' je prints_end call printc jmp prints_start prints_end: ret hello: db 'Hello World',10,13,'$' times 510-($-$$) db 0 dw 0xaa55 ÌäÂêÅÀ¡§ mov al,0x75 call printc ¤Ç¤Ï¤Á¤ã¤ó¤È²èÌ̤Ëu¤Èɽ¼¨¤µ¤ì¤ë¤±¤É mov ax,hello call prints ¤Î¤È¤³¤í¤Ç¤Ï@¤¬²èÌ̤˽㤱¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ hello¤Î¤¢¤ë¥¢¥É¥ì¥¹¤¬Àµ¤·¤¯ÂåÆþ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤¬¸¶°ø¤Ç¤Ï ¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¤¬¡¢¤É¤Î¹Ô¤ò¤É¤Î¤è¤¦¤Ëľ¤»¤Ð¤¤¤¤¤Î¤«¤µ¤Ã¤Ñ¤ê ¤ï¤«¤ê¤Þ¤»¤ó¡£¤â¤·¤³¤³¤¬°ã¤¦¤È¤¤¤¦¾ì½ê¤¬¤¢¤ê¤Þ¤·¤¿¤é »ØÅ¦¤·¤Æ¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£¤è¤í¤·¤¯¤ª¤Í¤¬¤¤¤·¤Þ¤¹¡£
| ||
| ¤³¤ÎÅê¹Æ¤Ø¤Î¥³¥á¥ó¥È | ||
|
ÃÙ¤ì¤Æ¤´¤á¤ó¤Ê¤µ¤¤ | ||
|
|