組合語言問題書本幾乎都是用8086模式教學

2021-12-23 05:37:55 字數 2540 閱讀 5143

1樓:匿名使用者

你的理解有問題!你主要是沒有區分多核和多執行緒的關係!

多核指的是有多個cpu物理核心,而多執行緒指的是單個cpu核心虛擬成兩個來進行運算任務,乙個是物理多核,乙個是虛擬多核

如你說的雙核四執行緒的cpu是能一次同時執行2條**,一般就是幾核就能同時執行幾條**!

原則上只要執行緒數不多於cpu核心數,會把各個執行緒都分配乙個核心,不需分片,而當執行緒數多於cpu核心數時才會分片。事實上目前的計算機系統正常情況下執行緒數都是遠遠多於cpu核心數的,所以一般都要分片,以允許所有執行緒併發執行。

例如:雙核四執行緒的cpu在執行四個執行緒時,兩個cpu核心就要交換執行(分片)

單核cpu也可以執行多執行緒。多執行緒分為兩種一類是cpu硬體支援的執行緒數,比如雙核四執行緒的cpu,不需要作業系統api的支援就能執行四個執行緒。另一種是在api的支援下的多執行緒。

比如在單核單執行緒cpu的電腦中windows系統可以同時執行幾十個程序和執行緒(你好要好好區分程序和執行緒,可以到網上找找資料,我一兩句話說不清,可以看看《c++ 併發程式設計實戰》,老美寫的)

2樓:

一般用於同時執行幾個程式。

3樓:風暴咆哮

最算執行四條**也要按順序來

學習組合語言,是用8086cpu講解,我的電腦是intel 酷睿i7,是一樣的嗎?

4樓:

一般使用ntvdm虛擬機器windows自帶的

關於組合語言移植性的問題?

5樓:

兄弟,你理解錯了,首先你要明白,組合語言是一種針對具體機器的低階語言,這裡說的不同機器一般來講是指cpu指令系統不相相容的兩種機器,比如常用的8086與51,dsp,arm,等等,他們的指令系統都不是通用的。自然移植到別的機器上不行,

舉個例子來說吧,假如51,的p0埠可以用來點亮一盞燈,但是對8086或者其他微控制器就不一定了,有可能是p1或者其他口了

你所寫的組合語言是針對8086cpu的,每台機子上的8086核心都是一樣的,所以都能夠執行,要是你拿到51等其他**就肯定不行了

還要說的是,8086的cpu是8位的,然而真實的pc機是32位或64位的,所以你都要用編譯軟體來編譯執行,並且計算機內有虛擬的8086核心,所以你才能執行

不行你將寫好的程式,在dos下直接debug,

是肯定會出錯的

說了這麼多不知道你明白了沒有??

6樓:匿名使用者

呵呵, 這裡說的兩台機器是指cpu指令系統不相相容的兩種機器,比如c51微控制器和80x86系列pc機,它們的匯程式設計序是不能相通的。

咱們學習的asm彙編可以移植到別的電腦上執行,是因為我們用的這些pc機都是相容80x86指令系統的,所以可以正常執行。

7樓:文刀舍予

什麼移不移植的,所有的cpu的組合語言都是相通的,改改不就行了,哪個cpu沒有mov指令!?哪個cpu沒有and指令!?

說組合語言可移植性差的全是懶豬!!!

(弱弱的補充一下:組合語言的......確實......但是絕對沒有把它拿出來當成缺點說的必要)

8樓:丁祈兒

不是2種的彙編,其實的是一種的,只不過是為了方便和實現一些的功能做了一些指令的擴充套件,但是只是的在那一種的系列之中的不識別。需要的用這裡的指令去程式設計序實現而已

9樓:匿名使用者

有的人回答的不昨的啊,請正確理解彙編可移植性的意義

10樓:

是一種只要指令集一樣就能移植

11樓:匿名使用者

個人電腦指令集都差不多

12樓:匿名使用者

= =!

書上只是說不一定能執行吧

特別是不同體系計算機

8086組合語言問題,下面程式段中的「 loop $"是什麼意思啊?

13樓:匿名使用者

是原地踏步的意思。每踏步一次,cx的值-1。

也即跳轉到本條指令的位址反覆執行loop指令,直到cx=0

14樓:

loop $ 的作用是 一直執行當前指令(即loop指令),在這裡和前一句合起來用,可以用來延時。

指令格式:loop 短標號

這條指令用於控制重複執行的一系列指令。指令執行前必須事先將重複次數放在cx暫存器中,每執行一次loop指令,cx自動減一。如果減一後cx不等於零,則轉移到指令中所給定的標號處繼續迴圈;若自動減一後cx=0.

,則結束迴圈,執行loop指令後面的指令。

標號 $ 在這裡表示當前指令的位址。

以下這兩句:

mov cx,0ffffh

loop $

應該是用來延時的吧!呵呵。。。

15樓:有點

loop:表示乙個段。你也可以使用a:或b:等等,可以自定義的!

組合語言問題組合語言問題

微控制器中 沒有相等就跳轉的指令 其實,cjne實際上也實現了相等跳轉的功能的 cjne a,data,rel 如果不等跳到rel指令a 如果等就執行下一條指令 指令a.rel 指令b 假如有一條相等就跳轉的指令cje 實際上沒有 cje a,data,rel 相等跳到rel指令b 不等跳到指令b ...

求助!組合語言MOV問題急求助組合語言中mov指令和add指令用法

1 我覺得不可以。2 lea是傳運算元位址,mov是移動位址中的資料 當然,這個資料還可能為乙個位址 3 中括號表示間接定址,對應暫存器中資料為二級位址,然後從二級位址中取出儲存的資料。4 期待其它答案。其它參考資訊 0.lea指令具有單時鐘週期,執行效率很高。1.它是cpu位址生成單元參與運算的,...

組合語言問題,關於輸出字串,組合語言問題,輸出了正確結果,但是下面還輸出了許多亂碼

沒大bai毛病,2處錯誤 decs sub ax,dx 這裡錯du了,dec不是幹這活zhi的.dec ax,dx 原數的兩dao個絕對值相版減 loop next mov ah,4ch 這裡加上退出指令。int 21h 其它權的沒問題。code ends 組合語言問題,輸出了正確結果,但是下面還輸...