王爽汇编 实验13

1.

assume cs:code

data segment
 db ‘welcome to masm! ‘,0
data ends

code segment
start:
    mov ax,cs
    mov ds,ax
    mov si,offset capital
    mov ax,0
    mov es,ax
    mov di,200h
    mov cx,offset capitalend-offset capital
    cld
    rep movsb

    mov ax,0
    mov es,ax
    mov word ptr es:[7ch*4],200h
    mov word ptr es:[7ch*4+2],0

    mov dh,10
    mov dl,    10
    mov cl,2
    mov ax,data
    mov ds,ax
    mov si,0
    int 7ch

    mov ax,4c00h
    int 21h

capital:
    push ax
    push es
    push di
    push si

    mov ax,0b800h
    mov es,ax

    mov al,0a0h
    mul dh
    mov di,ax

    mov al,2
    mul dl
    add di,ax

    mov ah,cl
s:
    mov al,[si]
    cmp al,0
    je ok

    mov word ptr es:[di],ax
    add di,2
    inc si
    jmp short s
ok:
    pop si
    pop di
    pop es
    pop ax
    iret

capitalend:
    nop

code ends
end start
时间: 2024-10-11 18:17:25

王爽汇编 实验13的相关文章

王爽汇编实验九

1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data 10 mov ds,ax;定义数据段 11 12 mov ax,0B800h 13 mov es,ax;定义显示段 14 15 mov cx,16 16 mov si,0 17 mov di,10*160+80 ;将输出显示放在第10行中间 18 19

王爽汇编实验十一

;实验11 ;把小写字母换成大写字母 assume cs:code , ds:data data segment db "Beginner's All-purpose Symbolic Instruction Code.",0 data ends code segment start: mov ax,data mov ds,ax mov si,0 call letterc mov ax,4c00h int 21h letterc: push ax push si fun: mov al

王爽汇编实验(三)

王爽汇编浅显易懂,虽然前面两个实验都做完了,但是都是吊儿郎当做完的. 看到第三次实验比较好写心得,就写了. 原码如下,用提到的LINK.EXE和MASM.EXE进行编译链接操作. assume cs:codesgcodesg segmentmov ax,2000Hmov ss,axmov sp,0add sp,10pop axpop bxpush axpush bxpop axpop bx mov ax,4c00Hint 21Hcodesg endsend 首先是用debug 跟踪t1.exe执

王爽 汇编 实验10.1

一.实验要求 二.代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'welcome to masm!',0 5 data ends 6 7 code segment 8 start: mov dh,8 ;定义行(0-24) 9 mov dl,3 ;定义列(0-79) 10 mov cl,2 ;定义颜色 11 mov ax,data 12 mov ds,ax 13 mov si,0 ;指向字符串的首地址 14 call show_str ;调

王爽 <<汇编 语言>> 13.6 BIOS中断例程应用

1 ;名称:ILOVEU程序 2 ;使用BIOS提供的中断例程 3 assume cs:code 4 code segment 5 main: 6 mov cx,880 ;显示背景22*80 7 mov dh,0 ;dh中放行号 8 mov dl,0 ;dl中放列号 9 bibi: 10 push cx 11 mov ah,2 ;显示光标 12 mov bh,0 ;第0页 13 int 10h 14 15 ;在光标处显示个数自定的字符 16 mov ah,9 ;9为在"在光标处显示字符的功能&q

王爽汇编10.12

;10.12 assume cs:code,ds:data data segment db 'word',0 db 'unix',0 db 'wind',0 db 'good',0 data ends code segment start : mov ax,data mov ds,ax mov si,0 mov di,16 mov cx,4 s: call cap inc si loop s MOV AX,4C00H INT 21H cap: push cx tip: mov cl,[si] m

跟我学汇编(二)王爽汇编环境搭建

这一次我们来讲解一下如何在window上搭建一个王爽教材中所用的汇编环境.王爽的书中用的是8086CPU,现在的CPU肯定是不一样啦,所以我们使用虚拟机来模拟一下. 一.下载系统 我们采用MS-DOS7.10系统,这里我提供一个免费的下载地址http://download.csdn.net/detail/xingjiarong/9428514,上次我看到了一个哥们的环境搭建过程,搭建好系统下载竟然要5个积分,我一气之下就自己动手搭建一个.这里下载之后是一个DOS的IOS文件,下面我们就来安装这个

王爽 汇编 检测点10.4

一.要求 二.上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip:jmp 16位reg.) 执行了call ax,会将它的下一条指令的压入栈中也就是5压入栈中,软后跳转到ip=6的地方 此时ip=6 ,sp=fffe,查看栈中的数据 4.执行mov bp,sp,栈顶地址赋值给bp寄存器 5.执行a

王爽汇编第三版实验10

1. 显示字符串 1 assume cs:code 2 3 data segment 4 db 'Welcome to masm!',0 5 data ends 6 7 stack segment 8 db 16 dup (0) 9 stack ends 10 11 code segment 12 start: 13 mov dh,8 14 mov dl,3 15 mov cl,2 16 mov ax,data 17 mov ds,ax 18 mov si,0 19 call show_str