·¢²¼Ê±¼ä : ÐÇÆÚËÄ ÎÄÕ»ã±àÓïÑÔʵÑ鱨¸æ¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ
ʵÑé12 ±àд¡¢Ó¦ÓÃÖжÏÀý³Ì
±àд0ºÅÖжϵĴ¦Àí³ÌÐò£¬Ê¹µÃÔÚ³ý·¨Òç³ö·¢Éúʱ£¬ÔÚÆÁÄ»ÖмäÏÔʾ×Ö·û´®¡±divide error£¡¡±¡£È»ºó·µ»Øµ½DOS. assume cs:code
code segment start:mov ax,cs mov ds,ax
mov si,offset do0 ;ÉèÖÃds:siÖ¸ÏòÔ´µØÖ· mov ax,0
mov es,ax ;ʹÓÃÖжÏÏòÁ¿±íÖв»Ê¹ÓõÄÄÚ´æµ¥Ôª mov di,200h ;ÉèÖÃes:diÖ¸ÏòÄ¿µÄµØÖ· mov cx,offset do0end-offset do0 ;ÉèÖÃcxΪ´«Ê䳤¶È cld ;ÉèÖô«Êä·½ÏòΪÕý
rep movsb ;´Ë´¦µÄÖ¸ÁîÀàËÆÓÚmov es:[di],word ptr ds:[si] ; loop s (ÊÂʵÉϲ¢²»´æÔÚÕâÖÖÖ¸Áî)
mov ax,0 mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0 ;ÉèÖÃÖжÏÏòÁ¿±í(³ý·¨Òç³öΪ0ºÅÖжÏ)
mov ax,1000h mov bl,1
div bl ;´Ë´¦ÎªÊµÑé³ý·¨Òç³öµÄ´úÂë
mov ax,4c00h int 21h
do0: jmp short do0start ;Ö¸ÁîÕ¼Á½¸ö×Ö½Ú,¹Ê×Ö·û´®µÄÆ«ÒƵØַΪ202h db \
do0start: mov ax,cs mov ds,ax
mov si,202h ;ÉèÖÃds:siÖ¸Ïò×Ö·û´®
mov ax,0b800h mov es,ax
mov di,12*160+36*2 ;ÉèÖÃes:diÖ¸ÏòÏÔ´æ¿Õ¼äµÄÖмäλÖÃ
mov cx,13 ;ÉèÖÃcxΪ×Ö·û³¤¶È
s: mov al,[si] mov es:[di],al inc si add di,2 loop s
mov ax,4c00h int 21h
do0end:nop code ends end start