當前位置:編程學習大全網 - 編程軟體 - 急:以1000H為首址的外存中存放16個字節的數據,編程將該數據塊送到以30H為首址的內存中。

急:以1000H為首址的外存中存放16個字節的數據,編程將該數據塊送到以30H為首址的內存中。

可以使用循環逐個移位將數據塊移動到目標數據區。

問題分析

首先,該程序需要將壹段數據轉移到另壹個區域,由於匯編語言並沒有針對串操作的指令,故此處應使用循環將壹個字節壹個字節的數據轉移到對應的數據。

此外,由於匯編語言不允許將數據再沒有使用DMA的情況下直接在存儲器內部進行交換,因此需要使用通用寄存器作為中轉。綜上可以確認程序大致框架。

程序框架

程序匯編語言實現

程序分析:該代碼可以循環16次,將16個數據構成的代碼塊移動到目標數據區。

擴展資料

匯編語言的壹個特點就是它所操作的對象不是具體的數據,而是寄存器或者存儲器,也就是說它是直接和寄存器和存儲器打交道。

這也是為什麽匯編語言的執行速度要比其它語言快,但同時這也使編程更加復雜,因為既然數據是存放在寄存器或存儲器中,那麽必然就存在著尋址方式,也就是用什麽方法找到所需要的數據。

例如上面的例子,就不能像高級語言壹樣直接使用數據,而是先要從相應的寄存器AX、BX 中把數據取出。

這也就增加了編程的復雜性,因為在高級語言中尋址這部分工作是由編譯系統來完成的,而在匯編語言中是由程序員自己來完成的,這無異增加了編程的復雜程度,降低了程序的可讀性。

百度百科-匯編語言 (面向機器的程序設計語言)

  • 上一篇:gpw-cb03可以識別三菱plc嗎
  • 下一篇:拉格朗日插值,用MATLAB軟件具體代碼如下:怎麽輸出結果
  • copyright 2024編程學習大全網