首页 汇编程序实例

汇编程序实例

举报
开通vip

汇编程序实例汇编程序实例 1.Êä?öËùÓÐASCII×Ö?û ÖØ??µ?ÓÃDOSÖÐ?ϵÄ02ºÅ×Ó??ÄÜ?????ýÆæ?ÖµÄÊÇ????ÖªµÀΪÊ?Ã?×îºó???öASC II×Ö?û??ÏÔÊ????öÀ?~~ ?úÂë?ªÊ? code segment assume cs:code main: mov dh , 0 mov ah , 02h again: mov dl , dh int 21h mov dl , ' ' int 21h cmp dh , 255 je e...

汇编程序实例
汇编程序实例 1.Êä?öËùÓÐASCII×Ö?û ÖØ??µ?ÓÃDOSÖÐ?ϵÄ02ºÅ×Ó??ÄÜ?????ýÆæ?ÖµÄÊÇ????ÖªµÀΪÊ?Ã?×îºó???öASC II×Ö?û??ÏÔÊ????öÀ?~~ ?úÂë?ªÊ? code segment assume cs:code main: mov dh , 0 mov ah , 02h again: mov dl , dh int 21h mov dl , ' ' int 21h cmp dh , 255 je exit inc dh jmp again exit: mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø 2.ÊäÈëÊä?öÒ??ö×Ö?û?? ʵ?ÊÉÏ??Õâ?öÌâÄ?Ö?ÊÇÑ-??Ê?ÓÃDOSÖÐ?Ï01ºÅ×Ó??ÄÜ??ÒÔ?ïµ?ÊäÈë×Ö?û??µÄ? ?ÄÜ?? ?úÂë?ªÊ? data segment msg db 'Please input a string:' , 0dh , 0ah , '$' endl db 0dh , 0ah , '$' s db 100 dup(0) ; ÕâÀïÏàµ?ÓÚ??Òå char s[100] = "" data ends code segment assume cs:code , ds:data main: mov ax , data mov ds , ax input: mov ah , 09h mov dx , offset msg int 21h mov si , 0 mov ah , 01h tag_input: int 21h cmp al , 0dh je output mov s[si] , al inc si jmp tag_input output: mov s[si] , '$' ; ÒòΪ09ºÅ??ÄÜÊä?öµÄÊÇÒÔ$?áÊøµÄ×Ö?û????Òò?ËÕâÀïÒª?ÓÉÏ$ mov ah , 09h mov dx , offset endl int 21h mov dx , offset s int 21h mov dx , offset endl int 21h exit: mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø 3.ÊÂÏÈÉè??ÃÜÂë??ÈôÊäÈëÕýÈ?ÔòÏÔÊ?"Password correct!"???ñÔò"Password wrong!"?? Õâ?öÌâµÄ?Ø?üÓÐÁ??ö?º1)ÊäÈëÒ??ö×Ö?û????Õâ?ö?ÉÒÔÍ??ýDOSÖÐ?ϵÄ01ºÅ×Ó? ?ÄÜʵÏÖ 2)?È?ÏÁ??ö×Ö?û????Õâ?ö?ÉÒÔÍ??ýcmpÒ?Î?Ò?Î?µØ?È?Ï ;?úÂë?ªÊ? data segment msg db 'Enter you password:' , 0dh , 0ah , '$' pwd db 'luckyword$' s db 100 dup(0) right db 'Password correct!' , 0dh , 0ah , '$' wrong db 'Password wrong!' , 0dh , 0ah , '$' data ends code segment assume cs:code , ds:data main: mov ax , data mov ds , ax input: mov ah , 09h mov dx , offset msg int 21h mov si , 0 mov ah , 01h tag_input: int 21h cmp al , 0dh je compare mov s[si] , al inc si jmp tag_input compare: mov s[si] , '$' mov si , 0 tag_compare: mov ah , s[si] mov al , pwd[si] cmp al , ah jne err cmp al , '$' je ok inc si jmp tag_compare ok: mov dx , offset right jmp output err: mov dx , offset wrong output: mov bx , dx mov ah , 02h mov dl , 0dh int 21h mov dl , 0ah int 21h mov dx , bx mov ah , 09h int 21h exit: mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø 4.Ò?ÊÇÊÂÏÈ?ø??Ò??öÃÜÂë??µ?ÊÇÊäÈëÊ???ÏÔÊ?ÊäÈëµÄ×Ö?û??Ö?ÏÔÊ?* Õâ?ö?ú?òµ?µÄÃÜÂëÑéÖ??ù??Ò?Ñù??µ?ÊÇ?ÁÈë×Ö?ûµÄÊ?ºòÊÇÓÃDOSÖÐ?ϵÄ08ºÅ× Ó??ÄÜ?? ;?úÂë?ªÊ? data segment msg db 'Enter you password:' , 0dh , 0ah , '$' pwd db 'luckyword$' s db 100 dup(0) right db 'Password correct!' , 0dh , 0ah , '$' wrong db 'Password wrong!' , 0dh , 0ah , '$' data ends code segment assume cs:code , ds:data main: mov ax , data mov ds , ax input: mov ah , 09h mov dx , offset msg int 21h mov si , 0 tag_input: mov ah , 08h int 21h cmp al , 0dh je compare mov s[si] , al mov ah , 02h mov dl , '*' int 21h inc si jmp tag_input compare: mov s[si] , '$' mov si , 0 tag_compare: mov ah , s[si] mov al , pwd[si] cmp al , ah jne err cmp al , '$' je ok inc si jmp tag_compare ok: mov dx , offset right jmp output err: mov dx , offset wrong output: mov bx , dx mov ah , 02h mov dl , 0dh int 21h mov dl , 0ah int 21h mov dx , bx mov ah , 09h int 21h exit: mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø DOSÖÐ?Ï08ºÅ×Ó??ÄÜ?º ??ÄÜ?º???ø?ØÏÔµÄ?Ó?ê×?ÊäÈëÉè???ÁÈëÒ??ö×Ö?û ?ÎÊý?ºah = 08h ?µ?ØÖµ:al = ?ÁÈëµÄ×Ö?û 5.ÇóºÍ:ÊäÈëÒ??öÕýµÄÊ??øÖÆÊýn??Çó1+2+...+nµÄÖµ??Êä?ö?á?û?? ;?úÂë?ªÊ? data segment msg1 db 'Please input a positive number:' , 0dh , 0ah , '$' msg2 db 'The sum is $' endl db 0dh , 0ah , '$' temp db 5 dup(0) data ends code segment assume cs:code , ds:data main: mov ax , data mov ds , ax mov ah , 09h mov dx , offset msg1 int 21h xor cx , cx xor dx , dx mov bh , 10 input: mov ah , 01h int 21h cmp al , 0dh je input_done mov dl , al sub dl , '0' mov ax , cx mul bh add ax , dx mov cx , ax jmp input input_done: xor ax , ax calc: add ax , cx loop calc output: xor si , si again: div bh add ah , '0' mov temp[si] , ah cmp al , 0 je again_done inc si xor ah , ah jmp again again_done: mov ah , 09h mov dx , offset endl int 21h mov dx , offset msg2 int 21h tag: mov dl , temp[si] mov ah , 02h int 21h cmp si , 0 je exit dec si jmp tag exit: mov ah , 0 int 16h mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø 6.ÊäÈëÒ??ö16?øÖÆÊý ÊäÈëÒ??ö16?øÖÆÊý???á?ûÎÒ???æÔÚbxÖÐ??ÒòΪÃ?ÓÐÊä?ö??Òò?ËÒªÔÚµ?ÊÔÆ?Ï ?Û?ì???ö?Ä?æÆ?µÄ?ä???? ;?úÂë?ªÊ? code segment assume cs:code main: mov cl , 4 mov bx , 0 again: mov ah , 01h int 21h cmp al , 0dh je exit xor ah , ah cmp al , '9' jbe number sub al , 'a' add al , 10 jmp go_on number: sub al , '0' go_on: shl bx , cl add bx , ax jmp again exit: mov ah , 4ch int 21h code ends end main ;?úÂë?áÊø
本文档为【汇编程序实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-17
浏览量:26