随笔分类 - 汇编
摘要:在除法溢出时屏幕打印 "divide error!" 安装程序: assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset do0 mov ax,0 mov es,ax mov di,200h mov cx,offset
阅读全文
摘要:实验10 1.在屏幕8行3列,用绿色显示data段中的字符串 assume cs:code data segment db'Welcome to masm!',0 data ends code segment start: mov dh,8 ;行 mov dl,3 ;列 mov cl,2 ;颜色 m
阅读全文
摘要:实验八 验证程序能否正常返回 assume cs:code code segment mov ax,4c00h int 21h start: mov ax,0 ; ip=0005,程序入口点, s: nop ; ip:0008 nop mov di,offset s ; di=0008 mov si
阅读全文
摘要:实验7:将data段中的数据按照格式和人均总收入存入table中 assume cs:codesg codesg segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1
阅读全文
摘要:汇编实现二重循环有3种方法: 1.使用寄存器存储CX ;将data段中的每个单词改为大写字母 assume cs:code,ds:data data segment db 'ibm ';可看作4行1列的二维数组 db 'dec ' db 'dos ' db 'vax ' data ends code
阅读全文
摘要:分析: ‘a’=1010001 ‘A’=1000001 当第五位为1时是小写,为0位大写 小写转大写用到按位与运算 ;小写转大写 assume cs:code,ds:data data segment db 'BaSic' data ends code segment start: mov ax,d
阅读全文
摘要:指令 mov ds:[dx],dx 原因:上述指令使用寄存器相对寻址方式,只能使用BX,BP,SI,DI 方括号里必须是变址(index,指SI, DI)或基址(base,指BX, BP)寄存器 正确写法: mov ds:[bx],bx
阅读全文
摘要:debug和编译器的区别 例1指令: mov ax,[0] debug执行: mov ax,[0] 编译器执行: mov ax,0 编译器编写汇编代码时访问内存单元的两种方法如下 ;加上段前缀(段前缀:显示指明段地址) mov ax,ds[0] ;或者间接给出内存单元的偏移地址 mov bx,0 m
阅读全文
摘要:实验环境:XP(XP以上系统没有自带debug) 查询主板生产日期,发现时间为07/02/15 -e命令进行修改日期,尝试将07年改为08年 在查询一下修改完成后的日期,发现日期不变 原因:这块内存是主板的ROM,只能进行读取不能修改 Debug命令(输入的地址都为16进制): -r 查询寄存器的内
阅读全文

浙公网安备 33010602011771号