. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  9实验结果,分享胜利果实  [待解决] 回复[ 3次 ]   点击[ 820次 ]  
weipeng3020
[帖 主]   [ 发表时间:2013-11-05 17:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-10-30 00:09
当编译成功的时候,还是觉得挺爽的
assume cs:code,ds:data,ss:stack
data segment
    db 'welcome to masm!'
    db 02h,24h,71h
data ends
stack segment
    db 16 dup(0)
stack ends

code segment
start:  mov ax,data
    mov ds,ax
    mov ax,stack
    mov ss,ax
    mov sp,16
    mov dx,0b872h       ;确定字符显示位置,确定这位置就用了半个小时,只会用笨方法数格格
                        ;得好好学学16进制乘法咋算
                        ;此处是DX不能进行[dx]方式寻址,才与BX换个位置,汗一个&竟然不知道
    mov bx,0            ;确定属性数据位置
                        ;属性和外循环次数刚好相等,要是四个属性显示两个,这寄存器该咋搞呢?
    mov cx,3            ;外循环三次
 s: push cx
    mov es,dx           ;显示位置。
    mov si,0            ;显示字符串位置变量
    mov di,0            ;字符串存储位置变量
    mov cx,16           ;内循环16次
s1: mov al,ds:[di]      ;乾坤大挪移字符串至偶数位
    mov es:[si],al
    mov ah,ds:[bx+16]   ;乾坤大挪移字符串至奇数位
    mov es:[si+1],ah
    add si,2            
    inc di              
  loop s1
    inc bx              
    add dx,0ah  
    pop cx
  loop s
    mov ax,4c00h
    int 20h
code ends
end start
523274426
[第1楼]   [ 回复时间:2017-03-12 11:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2017-03-12 09:06
我的怎么没有出现字符啊  在线等挺急的
vahe257
[第2楼]   [ 回复时间:2017-07-30 12:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2017-07-30 12:11
有什么好高兴的? 你这是个错误代码 根本跑了没效果!
看你写的注释 和个**一样, 这么大点出息 还洋洋得意
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved