2016-02-14 54 views
0

我对68k的汇编编程非常新颖。我正在使用Easy68k。Mortorola 68k:如何将字符串ASCII存储在地址寄存器中a0

我有一个计划:

ORG $1000 
START:     

* Put program code here 

    lea MSG,a1  ; loads MSG into address register a1 
    move.b #14,d0 ; 14 gets coverted to hex E 
    trap #15 

    move.b #9,d1 ; 9 decimal gets converted t hex 9 
    SIMHALT    ; halt simulator 

* Put variables and constants here 

MSG dc.b 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout',0 

    END START  ; last line of source 

据,是我所知,地址寄存器A1可以存储长字长度的项目。但是你看串

“这是一个历史悠久的事实,读者将通过一个页面的可读的内容看其布局的时候分心”

其转换成其ASCII格式,您将看到如何每个单词的十六进制数将超过长字长度。

那么这个字符串是如何存储的?我想了解程序集是如何存储和显示字符串到屏幕上的。

有人能解释一下吗?

回答

0

评论“将MSG装入地址寄存器a1”有些误导。您在a1中加载的内容不是MSG中的内容;你正在加载地址MSG。标签(例如MSG)只是程序中某个位置的名称,可以便于查看该位置。

该地址具有固定大小,适合寄存器并且独立于存储在该地址的数据。

+0

好的,谢谢你的解释。但是,数据如何存储呢。 68k在行和列的内存方面有多少容量? –

+0

数据以适当的编码存储在内存中的某处。 CPU没有任何内存容量。可用于代码和数据的RAM/ROM数量取决于目标系统(对于68k CPU可能是例如Amiga 500,Atari ST520或Macintosh IIx)。 – Michael

相关问题