彙編中的assume

"在資料區段中定義的每一個變數標誌符其實都代表了一個位移量(也稱為有效地址),這個位移量與資料區段段值相結合就指向某個記憶體位址。在程式中使用ASSUME偽指令是用來指明一個預設的段地址。一旦你把某個資料區段的段名指定給某個段寄存器(比如ASSUME   DS,DATA1),這之後當你使用這個資料區段(DATA1)內定義的變數,編譯器就自動把它與這個段寄存器(DS)裡的段值(表示一個段地址)結合起來使用。" 註:使用assume之前一定要向ds裡面賦合法的值,這樣assume才正確!!

如何保留低端記憶體

如何保留低端記憶體環境 :Red Hat Enterprise Linux (RHEL) 5.x (X86)在 X86 高記憶體裝置中,當使用者進程使用 mlock() 在常規地區分配大量記憶體時,可重新使用的 lowmem 記憶體可能會不足,而一些系統呼叫將失敗並顯示“EAGAIN” 等錯誤。在 RHEL 5.x (X86) 中,終端使用者可以使用 lowmem_reserve_ratio 控制保留的 lowmem。詳細資料# cat

播放抓取的H263 RTP視頻

播放抓取的H263 RTP視頻1. 使用Ethereal/Wireshark 抓取RTP資料包,選擇H263的過濾條件儲存2. Statistics/RTP Streams/Streams Analysis3. Save payload選擇儲存raw資料4. 使用ffplay播放  ffplay -f h263 file播放RTP音頻http://www.ethereal.com/lists/ethereal-users/200401/msg00264.html save the RTP

在核心中分配物理地址連續的大記憶體.

 kernel version 2.6.29 核心功能常常需要臨時分配一塊任意大小的物理地址連續的記憶體空間. 所以先介紹核心中兩個分配物理地址連續的記憶體空間的API.kmalloc由於採用了SLUB作為預設記憶體 Clerk, 所以 kmalloc 工作於 SLUB 分配器之上。核心初始化時,建立一組共 13 個通用對象的緩衝區。kmalloc_caches 數組存放了這些緩衝區的 kmem_cache 資料結構(kmalloc_sizes.h)。由於 kmem_cache 資料結構是通過

Bootloader簡介及UBOOT移植

Bootloader簡介及UBOOT移植 1. 引言 嵌入式系統的應用程式一般都被燒錄到FLASH或EEPROM或ROM中。在開發的過程中需要 不斷地講程式下載到目標板上運行調試。如果每次都要將程式燒錄到FLASH中,一則FLASH 的燒錄速度慢(擦除、編程),二則在FLASH中運行時,調試器無法下斷點,達不到方便調 試的目的。三則頻繁燒錄降低FLASH的使用壽命。 一種較好的方法就是將應用程式下載到RAM中,可以解決上面的問題。有兩種方法: 1)

Tilera Cache Control

Support for moving blocks of memory in and out of a core's cache.The Tile Processor supports both coherent and incoherent memory models. Coherent shared memory provides the shared memory model familiar to most programmers working in pthreads

令狐沖和TCP/IP協議的第三層協議的關係

令狐沖和TCP/IP協議的第三層協議的關係Author:  CUDev.cublog.cn   CUDev

伺服器和客戶機通過TCP/IP三向交握建立一個串連

TCP握手協議  在TCP/IP協議中,TCP協議提供可靠的串連服務,採用三向交握建立一個串連。  第一次握手:建立串連時,用戶端發送SYN包(syn=j)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;       第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即伺服器發送SYN+ACK包,此時伺服器進入SYN_RECV狀態;  第三向交握:用戶端收到伺服器的SYN+ACK包,用戶端向伺服器發送確認包ACK(ack=k+

全面認識USB技術的精髓(二)

本文介紹USB匯流排的資料轉送模式、USB資料包的格式,以及USB外設的組成與結構等內容。一、USB資料包的格式  在USB系統中,有四種形式的資料包--標記資料包(Token Packets)、DATA資料包(DATA Packets)、幀開始資料包(SOF Packets)和握手資料包(Handshake

socket編程執行個體

socket編程執行個體  /* client.c */ #include #include #include #include #include int main() { int sockfd; int len; struct sockaddr_un address; int result; char ch=A; sockfd=socket(AF_UNIX,SOCK_STREAM,0); /*以上建立用戶端的套介面,採用AF_UNIX的unix域協議*/ address.sun_family=

如何從鏈路層收到的資料報中訪問IP層和TCP層頭資訊?

收包時ip_rcp()中第一行skb->nh.iph以前在那裡被賦值!   從網卡開始收資料包開始跟蹤一個資料包的接受過程,到ip_rcp()這個函數的時候,他的第一句話是中第一行struct iphdr *iph=skb->nh.iph 可是我看的源碼中並沒有給skb->nh.iph賦值,有的只是賦了skb->dev之類的,所以這裡這個skb->nh.iph是不能用的,我覺得。 不知道他是在那給賦值的,高手看一下:) Re: 收包時ip_rcp()中第一行skb-

Freescale mx27 DDR 初始化程式碼分析

在DDR SDRAM能夠被存取資料之前,需要先對其初始化。該初始化流程是預先定義好的,不正確的操作將導致無法預料的結果。初始化的過程中將設定DDRSDRAM的普通模式寄存器和擴充模式寄存器,用來制定DDR SDRAM的工作方式。這些設定包括突髮長度、突發類型、CAS潛伏期和工作模式以及擴充模式寄存器中的對DDR SDRAM內部DLL的使能與輸出驅動能力的設定。模式寄存器可以被再編程,這時需要DDR

使用NSOperation和NSOperationQueue啟動多線程的教程

App Store中的很多應用程式非常的笨重,他們有好的介面,但操作性很差。比如說當程式從網上或本地載入資料的時候,介面被凍結了,使用者只能等程式完全載入資料之後才能進行操作。  當開啟一個應用程式時,iPhone會產生一個包含main方法的線程,所用程式中的介面都是運行在這個線程之中的(table views, tab bars, alerts…),有時候我們會用資料填充這些view,現在問題是如何有效載入資料,並且使用者還能自如的操作程式。方法是啟動新的線

Intel 的 micro-architecture 發展曆程

Intel 的 micro-architecture 發展曆程(mik@mouseos.com)我想:如果能瞭解一下 Intel 的 CPU micro-architecture 發展曆程總是好的。我這裡作了一些資料收集,主要來源這要感謝WiKipedia1. Tick-TockIntel 在 2007 年提出了 Intel 今後在 cpu micro-architecture 上的發展模型,每年按 tick - tock 的節奏更新

移植基於Qt4.4-tp1的WebKit到ARM平台

 在Qt4.4的技術預覽版上,  已整合了 WebKit的支援,  很容易嵌入到Qt應用程式中. 編譯Qt4.4-tp1 for arm 我這裡使用的是mx27的bsp, jpeg, png都使用系統庫. 尚未對Qt進行削減.#!/bin/sh./configure /  -prefix /opt/QtCore-4.4-tp1-arm/ /  -release -shared /  -fast /  -pch /  -no-qt3support /  -qt-sql-sqlite /  -no-

No matching function call to ‘pthread_create’

以下代碼報錯:No matching function call to 'pthread_create'#include <pthread.h>void *draw(void *pt) { // ...}void *input(void *pt) { // ....}void Game::create_threads(void) { pthread_t draw_t, input_t; pthread_create(&draw_t, NULL,

fwrite的用法和main參數的使用方法(自己的總結)

首先是一個來源程式:#include <stdio.h>#define nmemb 3int main(int argc,char *argv[]){ char *s; FILE *stream; int i; if(argc<2) {  printf("Use 2 para!/n");  exit(0); } stream=fopen(argv[1],"r");// stream=fopen("/tmp/fwrite","r"); fread(s,1024,1,stream)

通過cURL擷取web頁面及http header資訊

 cURL是一個強大的HTTP操作庫, 可以協助用來操作HTTP相關工作, 減少了代碼中使用socket帶來的繁瑣. 也包含了一個利用URL文法在命令列下工作的檔案傳輸工具curl. 具體可以參考:http://curl.haxx.se/  這也是cURL開發人員的首頁.以下是我的樣本, 用來測試HTTP返回資料的. #include <stdio.h>#include <curl/curl.h>// 頁面資料回呼函數static size_t

extern使用方法總結!

#include "stdafx.h"1.extern用在變數聲明中常常有這樣一個作用,你在*.c檔案中聲明了一個全域的變數,這個全域的變數如果要被引用,就放在*.h中並用extern來聲明。2.如果函數的聲明中帶有關鍵字extern,僅僅是暗示這個函數可能在別的源檔案裡定義,沒有其它作用。即下述兩個函式宣告沒有區別:extern int f(); 和int

什麼是FrameBuffer?

什麼是FrameBuffer?(轉載)FrameBufferFrameBuffer 是出現在 2.2.xx 核心當中的一種驅動程式介面。這種介面將顯示設備抽象為框架緩衝區。使用者可以將它看成是顯示記憶體的一個映像,將其映射到進程地址空間之後,就可以直接進行讀寫操作,而寫操作可以立即反應在螢幕上。該驅動程式的裝置檔案一般是 /dev/fb0、/dev/fb1 等等。比如,假設現在的顯示模式是1024x768-8 位色,則可以通過如下的命令清空螢幕:$ dd if=/dev/zero

總頁數: 61357 1 .... 20939 20940 20941 20942 20943 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.