步步高多媒体学生电脑 汇编程序设计 – 1


英文同步

90年代后期步步高生产的软驱一号(又称步步高多媒体学生电脑)和98型学生电脑都带了软驱,一按电源件, 都从软盘启动(98型可以从内置的电子盘启动)

步步高提供了直接在学习机上写汇编开发的工具 BASM. BASM 可以用来写 6502 汇编,并可以编译成 CMD 小型可执行程序 不支持 EXC 程序. CMD 格式的头两个字节指定了程序装入的内存地址.之后就是程序和数据连续的放一起. 由于CPU可以访问从 $6100 到 $FFFA 的内存地址,所以一个CMD程序的最大大小为 $FFFA-$6100

只需要 basm.cmd 一个文件就可以编译 汇编.可以在中文或者西文的BBGDOS下都可以运行 basm.cmd. 如果命令行参数是 /cmd 则生成的文件就是 *.cmd 如果命令行参数是否 /obj 则生成的是中间代码 *.obj (暂时不知道这个 *.obj 有什么用)

在步步高学生电脑上, 你可以使用 WPS.exc 或者 edit.cmd 来编辑文本程序.两个程序都需要在中文DOS环境下才可以运行. edit.cmd 需要运行内存驻留程序 emm386.cmd

下面的程序演示了怎么输出一个字符:

1
2
3
4
5
6
7
8
9
10
        ; https://HelloACM.com
        include xnrdef.h
        org $8000
        jmp start
start:
        lda #"A"
        jsr putc
        lda #$00
        jmp exit
        include tstputc.lnk
        ; https://HelloACM.com
        include xnrdef.h
        org $8000
        jmp start
start:
        lda #"A"
        jsr putc
        lda #$00
        jmp exit
        include tstputc.lnk

org $8000 命令指定了从 内存 $8000 开始汇编.include 则可以导入另一文件(则可以把一些常用的程序定义什么的放在单独的一个文件里)

文件 xnrdef.h (下载) 定义了一些常量,所以你就不用记住那些数值,比如 DOS调用号是:

DosIOEntry  equ $580c

putcexittstputc.lnk 中定义如下:

;************************************************
;   A:  char                                    *
;************************************************
putc:
    tax
    lda #DosDisplayChar
    jmp DosIOEntry
;************************************************
;   A : exit mode . (0 or ff)                   *
;************************************************
exit:
    tay
    lda #DosProgramReturn
    jmp DosIOEntry

tax 把寄存器 A 拷贝到 X 中, tay 指令则类似把 A 拷贝到 Y.分号用于注释.

9c5736852333ae225d5789c7c79262da.jpg 步步高多媒体学生电脑 汇编程序设计 - 1  怀旧 折腾 杂乱 程序员 程序设计

在BBGDOS下 basm /cmd tstputc.asm 则可以编译生成 tstputc.cmd

868a1ed6b54c3018f7f23d389a781a7b.jpg 步步高多媒体学生电脑 汇编程序设计 - 1  怀旧 折腾 杂乱 程序员 程序设计

类似, basm /obj tstputc.asm 会生成 tstputc.obj

编译过程中 map 文件 tstputc.map 将会被生成, 里面含有键值对:

6502-assembly-8-bit-bbg-map 步步高多媒体学生电脑 汇编程序设计 - 1  怀旧 折腾 杂乱 程序员 程序设计

e4da6cf674b141789c7d7c619ab69763.jpg 步步高多媒体学生电脑 汇编程序设计 - 1  怀旧 折腾 杂乱 程序员 程序设计

编译成功之后 tstputc.cmd  则可以直接在BBGDOS下运行,输出一个字符A.

大家可以看到, 可以直接在学习机上开发汇编程序是步步高的一大优势,很多地方都很像PC.但是8位CPU毕竟是慢,再加上软盘只有 1.44M 空间不够存放大量的程序,因此我猜用并行线联接PC硬盘估计当时是为了加速开发而引进的技术.

遗憾的EXC程序不知道如何开发.只能先写写小型CMD程序玩玩了.

GD Star Rating
loading...
本文一共 591 个汉字, 你数一下对不对.
步步高多媒体学生电脑 汇编程序设计 – 1. (AMP 移动加速版本)
上一篇: 步步高多媒体学生电脑(软驱1号) 或者98 DOS操作系统版本说明
下一篇: 在步步高软驱1号或者98型学生电脑上算圆周率

扫描二维码,分享本文到微信朋友圈
dd1b9688eb137ef03429dd1557c19fb6 步步高多媒体学生电脑 汇编程序设计 - 1  怀旧 折腾 杂乱 程序员 程序设计

评论