Emu8086使用指� - 百度文库

loading ·ÖÏí 2026-11-11 ÏÂÔØÎĵµ

¹¦ÄÜ£¨ÓÚÊÇ£¬ÎÒÃÇÓÐ256*256£½65536¸ö¹¦Äܵ÷Óã©¡£Ò»°ãÇé¿öÏÂʹÓÃAH¼Ä´æÆ÷£¬µ«ÊÇһЩÇé¿öÏ¿ÉÄÜʹÓÃÁíÍâµÄ¼Ä´æÆ÷¡£Í¨³££¬ÆäËûµÄ¼Ä´æÆ÷ÊÇÓÃÀ´´«µÝÊý¾ÝºÍ²ÎÊýµÄ¡£ ÏÂÃæµÄÀý×Óµ÷ÓÃÁË INT 10hÖжÏ0Eh×Ó¹¦ÄÜÊä³ö×Ö·û´®¡®Hello!'¡£Õâ¸ö¹¦ÄÜ×÷ÓÃÊÇÔÚÆÁÄ»ÉÏÏÔʾһ¸ö×Ö·û£¬È»ºó¹â±ê½øÒ»£¬Èç¹ûÐèÒª»¹¹öÆÁ¡£

#MAKE_COM# ; Éú³ÉcomÎļþµÄÖ¸Áî ORG 100h £»ÎÒÃÇʹÓõÄÕâ¸ö×Ó¹¦ÄÜûÓзµ»ØÖµ£¬ £»ËùÒÔÎÒÃÇÖ»ÓÃÉèÖþͿÉÒÔÁË¡£ MOV AH, 0Eh ; Ñ¡Ôñ×Ó¹¦ÄÜ £»int 10h/0eh ×Ó¹¦ÄÜ£¬Êä³ö·ÅÔÚ £»AL¼Ä´æÆ÷ÖеÄASCIIÂë¶ÔÓ¦µÄ×Ö·û MOV AL, 'H' ; ASCIIÂë: 72 INT 10h ; Êä³ö MOV AL, 'e' ; ASCII Âë: 101 INT 10h ; Êä³ö MOV AL, 'l' ; ASCII Âë: 108 INT 10h ; Êä³ö MOV AL, 'l' ; ASCII Âë: 108 INT 10h ; Êä³ö MOV AL, 'o' ; ASCII Âë: 111 INT 10h ; Êä³ö MOV AL, '!' ; ASCII Âë: 33 INT 10h ; Êä³ö RET ; ·µ»Ø²Ù×÷ϵͳ ½«ÉÏÊö³ÌÐò¿½±´Õ³Ìùµ½Emu8086´úÂë±à¼­Æ÷£¬µã»÷ [Compile and Emulate] °´Å¥£¬ÔËÐУ¡

³£Óú¯Êý¿â - emu8086.inc

ͨ¹ýÒýÓÃһЩ³£Óú¯Êý£¬¿ÉÒÔʹÄã±à³Ì¸ü¼Ó·½±ã¡£ÔÚÄãµÄ³ÌÐòÖÐʹÓÃÆäËûÎļþÖеĺ¯ÊýµÄ·½·¨ÊÇ

INCLUDEºóÃæ½ÓÉÏÄãÒªÒýÓõÄÎļþÃû¡£±àÒëÆ÷

»á×Ô¶¯ÔÚÄãÔ´³ÌÐòËùÔÚµÄÎļþ¼ÐÖвéÕÒÄãÒýÓõÄÎļþ£¬Èç¹ûûÓÐÕÒµ½£¬Ëü½«ËÑË÷Inc Îļþ¼Ð¡£Í¨³£ÄãÎÞ·¨ÍêÈ«Àí½â emu8086.inc£¨Î»ÓÚIncÎļþ¼Ð£©µ«ÊÇÕâûÓйØÏµ£¬ÄãÖ»ÓÃÖªµÀËüÄÜ×öʲô¾Í×ã¹»ÁË¡£ÒªÊ¹ÓÃemu8086.incÖеĺ¯Êý£¬ÄãÓ¦µ±ÔÚÄã³ÌÐòµÄ¿ªÍ·¼ÓÉÏ include 'emu8086.inc' emu8086.inc ¶¨ÒåÁËÈçϵĺê:

PUTC char - ½«Ò»¸öascii×Ö·ûÊä³öµ½¹â±êµ±Ç°Î»Öµ£¬Ö»ÓÐÒ»¸ö²ÎÊýµÄºê GOTOXY col, row - ÉèÖõ±Ç°¹â±êλÖã¬ÓÐÁ½¸ö²ÎÊý PRINT string - Êä³ö×Ö·û´®£¬Ò»¸ö²ÎÊý

PRINTN string - Êä³ö×Ö·û´®£¬Ò»¸ö²ÎÊý¡£Óëprint¹¦ÄÜÏàͬ£¬²»Í¬ÔÚÓÚÊä³öÖ®ºó×Ô¶¯»Ø³µ CURSOROFF - ¹Ø±ÕÎı¾¹â±ê CURSORON - ´ò¿ªÎı¾¹â±ê

ʹÓÃÉÏÊöºêµÄ·½·¨ÊÇ£ºÔÚÄãÐèÒªµÄλֵдÉϺêÃû³Æ¼ÓÉϲÎÊý¡£ÀýÈç:

include emu8086.inc ORG 100h PRINT 'Hello World!' GOTOXY 10, 5 PUTC 65 ; 65 - ASCII ÂëµÄ 'A' PUTC 'B' RET ; ·µ»Ø²Ù×÷ϵͳ END ; Í£Ö¹±àÒëÆ÷ µ±±àÒëÆ÷ÔËÐÐÄãµÄ´úÂëʱ£¬ËüÊ×ÏÈÕÒµ½ÉùÃ÷ÖеÄemu8086.incÎļþ£¬È»ºó½«´úÂëÖеĺêÓÃʵ¼ÊµÄ´úÂëÌæ»»µô¡£Í¨³£À´Ëµ£¬ºê¶¼ÊDZȽÏСµÄ´úÂë¶Î£¬¾­³£Ê¹Óúê»áʹµÃÄãµÄ¿ÉÖ´ÐгÌÐòÌØ±ð´ó£¨¶ÔÓÚ½µµÍÎļþ´óСÀ´ËµÊ¹Óùý³Ì¸üºÃ£© emu8086.inc ͬÑù¶¨ÒåÁËÈçϹý³Ì:

PRINT_STRING - ÔÚµ±Ç°¹â±êλÖÃÊä³öÒ»¸ö×Ö·û´®×Ö·û´®µØÖ·ÓÉDS:SI ¼Ä´æÆ÷¸ø³öʹÓÃ

ʱ£¬ÐèÒªÔÚENDÇ°ÃæÉùÃ÷DEFINE_PRINT_STRING ²ÅÄÜʹÓÃ.

PTHIS - ÔÚµ±Ç°¹â±êλÖÃÊä³öÒ»¸ö×Ö·û´®£¨Í¬ PRINT_STRING£©Ò»Ñù£¬²»Í¬Ö®´¦ÔÚÓÚËü´Ó

¶ÑÕ»½ÓÊÕ×Ö·û´®¡£×Ö·û´®ÖÕÖ¹·û

Ó¦ÔÚcallÖ®ºó¶¨Òå¡£ÀýÈç

CALL PTHIS

db 'Hello World!', 0

ʹÓÃʱ£¬ÐèÒªÔÚ END Ç°ÃæÉùÃ÷

DEFINE_PTHIS ¡£GET_STRING - ´ÓÓû§ÊäÈëµÃµ½Ò»¸ö×Ö·û´®£¬ÊäÈëµÄ×Ö·û´®Ð´Èë DS:DI Ö¸³öµÄ»º³å£¬»º³åÇøµÄ´óСÓÉ DXÉèÖ᣻سµ×÷ΪÊäÈë½áÊø¡£Ê¹ÓÃʱ£¬ÐèÒªÔÚENDÇ°ÃæÉù

Ã÷

DEFINE_GET_STRING ¡£CLEAR_SCREEN - ÇåÆÁ¹ý³Ì(¹ö¹ýÕû¸öÆÁÄ»),È»ºó½«¹â±êÉèÖÃÔÚ×óÉϽÇ. ʹÓÃʱ£¬ÐèÒªÔÚENDÇ°ÃæÉùÃ÷DEFINE_CLEAR_SCREEN ¡£

SCAN_NUM - È¡µÃÓû§´Ó¼üÅÌÊäÈëµÄ¶àλÓзûºÅÊý£¬²¢½«ÊäÈë´æ·ÅÔÚCX¼Ä´æÆ÷¡£ ʹÓÃʱ£¬ÐèÒªÔÚ ENDÇ°ÃæÉùÃ÷ DEFINE_SCAN_NUM¡£

PRINT_NUM - Êä³öAX¼Ä´æÆ÷ÖеÄÓзûºÅÊý¡£Ê¹ÓÃʱ£¬ÐèÒªÔÚEND Ç°ÃæÉùÃ÷ DEFINE_PRINT_NUMÒÔ¼° DEFINE_PRINT_NUM_UNS.

PRINT_NUM_UNS - Êä³öAX¼Ä´æÆ÷ÖеÄÎÞ·ûºÅÊý¡£Ê¹ÓÃʱ£¬ÐèÒªÔÚEND Ç°ÃæÉùÃ÷DEFINE_PRINT_NUM_UNS.

ʹÓÃÉÏÊö¹ý³Ì£¬±ØÐëÔÚÄãÔ´³ÌÐòµÄµ×²¿£¨µ«ÊÇÔÚEND֮ǰ£¡£¡£¡£©ÉùÃ÷ÕâЩº¯Êý£¬Ê¹ÓÃCALLÖ¸ÁîºóÃæ½ÓÉϹý³ÌÃû³ÆÀ´µ÷Óá£ÀýÈ磺

include 'emu8086.inc' ORG 100h LEA SI, msg1 ; ÒªÇóÊäÈëÊý×Ö CALL print_string ; CALL scan_num ; ¶ÁÈ¡Êý×Ö·ÅÈëcx MOV AX, CX ; CX´æ·ÅÊýÖµ¿½±´µ½AX; ÊäÈëÈçÏÂ×Ö·û CALL pthis DB 13, 10, 'You have entered: ', 0 CALL print_num ; Êä³ö AXÖеÄ×Ö·û RET ; ·µ»Ø²Ù×÷ϵͳ


Emu8086使用指å�— - 百度文库.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º Emu8086使用指å�— - 百度文库 µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ