循环显示十条新闻标题的控制程序,地址转换表NEWS放在数据区;

dseg segment
new1 db 'newsA',0dh,0ah,'$';忘记在0d,0a后加h,因为编译器不认识
new2 db 'newsB',0dh,0ah,'$';忘记在0DH之前加逗号隔开;导致程序运行错误;
new3 db 'newsC',0dh,0ah,'$'
new4 db 'newsD',0dh,0ah,'$'
new5 db 'newsE',0dh,0ah,'$'
new6 db 'newsF',0dh,0ah,'$'
new7 db 'newsG',0dh,0ah,'$'
new8 db 'newsH',0dh,0ah,'$'
new9 db 'newsI',0dh,0ah,'$'
new10 db 'newsJ',0dh,0ah,'$'
news dw  new1,new2,new3,new4,new5,new6,new7,new8,new9,new10
dseg ends
cseg segment;代码段开始声明
main proc far;main函数声明
assume cs:cseg,ds:dseg;声明代码段与数据段
start:push ds;保存old ds register value
      sub ax,ax
      push ax;the same way to ds
      mov ax,dseg
      mov ds,ax
begin:
      mov cx,10
      lea bx,news;将NEWS偏移地址给BX寄存器
disp:
      mov dx,[bx];根据[BX]偏移地址找到对应的菜单项目,所谓跳转表法
      add bx,2;忘记写这个语句,因为news是以字存放所以加2个byte
      mov ah,09h;dos显示字符串09h功能
      int 21h
      loop disp;直到cx等于0
      jmp begin
main endp;先写main结束
cseg ends;后写cseg结束
     end start;最后start结束
     

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值