組合語言SIDIBXBPSSDS分別是什麼?怎樣

2021-03-06 02:00:54 字數 681 閱讀 6369

1樓:匿名使用者

1.組合語言 si di bx bp ss ds 是什麼si: 16位寄存

器,源變址暫存器

di: 16為暫存器,目的變址暫存器bx: 16位暫存器(可分成2個8位暫存器bh,bl),基址暫存器

bp: 16位暫存器,基址指標暫存器

ss : 16位段暫存器,作用是存放當前堆疊段的段地址,一般和sp連用

ds: 16為段暫存器, 作用是存放當前資料段的段地址2.怎樣根據這些求實體地址

上面的這幾個暫存器跟求實體地址談不上關係.

有個公式: 實體地址 = 基礎地址 + 偏移地址 = cs*10h(基礎地址)+ ip(偏移地址)

cs: 16位段暫存器,存放當前**段的段地址ip: 存放下一條要執行的指令的偏移地址lz如有不明白的地方,可追問

2樓:匿名使用者

si、di分別是源、目的變址暫存器,bx是資料基址暫存器,bp是棧基址暫存器,ss、ds是段地址暫存器。

實體地址=段地址×16+偏移地址,指令中出現bp作地址,則其段地址為ss,否則就為ds。

組合語言比機器語言易於讀寫、易於除錯和修改,同時也具有機器語言執行速度快,佔記憶體空間少等優點,但在編寫複雜程式時具有明顯的侷限性,組合語言依賴於具體的機型,不能通用,也不能在不同機型之間移植。

懂組合語言的進,組合語言高手進

很簡單的程式。輸入的數字,是acscii碼形式的,要減去30h,才是數字形式的數字。程式中,兩個輸入數字,全都減去了30h,然後進行了加法,結果存入ral單元。輸出顯示,要先把數字,變換成ascii碼,僅僅加30h,是不全面的,數字大於9,就要加37h,這些可以去查ascii表,求得證明。dseg ...

組合語言程式設計

一 mov di,0000h 讓ds di指向字串mov cx,n 設定迴圈次數mov al,a 設定掃描的字母cld 設定df為0repne scasb 開始掃描jz found 找到則跳轉mov di,00h 沒找到則讓di指向字串開頭found mov bx,di 讓bx記錄a所在位置hlt ...

組合語言lea是什麼意思,組合語言 lea 是什麼意思?

lea是微機8086 8088系列的一條bai指令,取自du 英語load effective address 取zhi有效地址,也就是取偏dao移地回址。lea指令將儲存器操答作數mem的4位16進位制偏移地址送到指定的暫存器。這裡,源運算元必須是儲存器運算元,目標運算元必須是16位通用暫存器。因...