当前位置:文档之家› AVR035翻译

AVR035翻译

AVR035翻译
AVR035翻译

A VR035:A VR单片机高效的C语言译码

特色:

访问I/O 存储器特定区域

访问映射I/O的存储器

访问Flash 数据

访问EEPROM 数据

创造EEPROM 数据文件

变量和数据类型的有效使用

位域和位屏蔽的使用

宏和函数的使用

18种方式缩减代码量

5种方式缩减RAM需求

调试程序的备忘目录(checklist)

更新到支持IAR 版本2编译器

引序

C 已经逐步地成为编写各类微处理器高级语言.它在编写处理器程序中比汇编语言拥有更多优势:缩减开发时间,简化源程序的维护和移植以及代码的模块化.The penalty can be larger code size and as a result of that often reduced speed.(处罚可以扩大编码的大小,及作为速度减少的一种后果)减少这种不便,A VR的设计构造更加协调于由C编译器典型生成的有效编码和可执行指令.

IAR systems的这款C编译器先于A VR设计结构和指令设置的规格说明完成之前开发而成.编译器开发团队和A VR开发团队合作研发了一个适用于微处理器的生成高效、高性能代码的C编译器.

应用注解描述了如何利用A VR相比其他微处理器的构造设计优势以及相关开发工具来完成更多高效的C代码.

Architecture Tuned FOR C代码

A VR的32个8位工作寄存器是高效C译码的一个关键所在,每一个工作寄存器都具有传统累加器的功能. A VR可以同时访问Register File(寄存器文件)中任意2个操作数,并将数据送入ALU(算术逻辑单元)进行相关运算,结果存回到Register File.,整个过程只需要1个时钟周期.

当数据存储在32个工作寄存器的时候,每个运算指令

某些2个8-bits寄存器可以结合成1个16-bits指针来实现数据从数据存储器和程序存储器高效存取(双字节指针能够达到64KB的寻址范围).甚至为达到更大的存储量,这个16-bits存储器指针结合一个8-bits寄存器便达到24-bits指针来寻址8M字节的数据.无需翻页.

取址模式A VR 设计构造中有4个存储器指针被用来数据存取以及程序存储. Stack Pointer (堆栈指针) 用来存储函数调用返回之后的返回地址. C编译器分配1个指针作为参数堆栈.剩余2个通用目的指针被C编译器分派完成程序的装载和数据的存储.

下面示例说明了指针是如何高效地用来完成C语言中典型的指针操作

char *pointer1 = &table[0] ;

char *pointer2 = &table[49] ;

*pointer1++ = *- -pointer2 ;

生成汇编代码如下:

LD R16,-Z ; Pre-decrement Z pointer and load data

ST X+, R16 ; Store data and post inceement

四个指针地址模式和范例如下所示,当中的指针指令都为single-word(单字)指令执行周期为2个时钟.

1. 间接寻址: 数组和指针变量寻址

*pointer = 0x00 ;

2. 带偏移量的间接寻址: 允许通过指向structrue(指令)第一个元素指针加上偏移量来访问结构体内部所有元素而不需要改变指针的值.同样适用于访问软件堆栈中的变量和数组单元.

3. 带后加偏移量的间接寻址:为更有效率地访问数组和指针变量,访问结束后添加偏移量(来改变指针指向)

*pointer ++ = 0xFF ;

4. 带预加偏移量的间接寻址: 为更有效率地访问数组和指针变量,访问开始前添加偏移量

*- -pointer = 0xFF ;

该指针可同样用于访问Flash Program Memory(闪存程序存储器),除了用指针来间接寻址Flash Program Memory之外,数据存储器也能被直接寻址.下面给出访问整个数据存储器的双字指令.

支持16位/32位的变量A VR指令设置中包含了几条特殊指令来处理16位数据.包括立即数与字相加/相减(ADIW,SBIW). 2条指令2个时钟周期完成的两个16位数据的算术运算以及比较.4条指令4个时钟周期则可以实现32位数据的运算和比较.比一些16位的处理器更加有效率.

A VR的C语言代码

初始化堆栈指针上电复位或是重起复位后,在任何功能被唤起之前堆栈指针必须重新设置.连接器命令文件决定了堆栈指针的位置尺寸.

访问I/O存储器单元用C语言可以方便地访问A VR I/O存储器.所有I/O存储器声明在一个通常名为“ioxxxx.h”头文件中,(xxxx是A VR 产品代号).下面的代码例子显示如何访问I/O单元.C代码行下面是生成相应的汇编代码行.

#include /* 包括象征名的头文件*/

_C_task void main(void)

{

Char temp ; /* 声名一个局部变量*/

/* 读写一个I/O口寄存器*/

temp = PIND ; /* 读PIND引脚数据到局部变量temp */

// IN R16,LOW(16) ; 读I/O存储器

TCCR0 = 0x4F ; /*将数值写入一个I/O单元*/

// LDI R17,79 ; 载入立即数

// OUT LOW(51),R17 ; 写I/O存储器

/* 置单独位和清单独位*/

PORTB | = {1<

// SBI LOW(24),LOW(2) ; I/O置位

/* 置位和清屏蔽位*/

DDRD | = 0x0C /* 置DDRD位2和位3 */

// IN R17,LOW(17) ; 读I/O寄存器

// ORI R17,LOW(12) ; R17内容…或?立即数

// OUT LOW(17),R17 ; 写I/O寄存器

ACSR &= ~(0x0c) ; /* 清ACSR中位2和位3 */

// IN R17,LOW(8) ; 读I/O寄存器

// ANDI R17,LOW(243) ; R17内容…与?立即数

// OUT LOW(8),R17 ; 写I/O寄存器

/* 测试单独位是否已经置位或是清零了*/

if (USR & (1<

{

PORTB | = (1<

// SBIC LOW(11),LOW(6) ; test direct on I/O

// SBIC LOW(24),LOW(0) ;

While( ! (SPSR & (1<

// ?0003: SBIS LOW(14),LOW(6) ; test direct on I/O

// RJMP ?0003

/* 测试I/O寄存器是否等同于一个屏蔽位*/

If ( UDR & 0xF3 ) /* 检查UDR 寄存器…与? 0xF3后非零为真*/ {

}

// IN R16,LOW(12) ; 读I/O寄存器

// ANDI R16,LOW(243) ; R16内容…与?立即数

// BREQ ?0008 ; 相等跳转到?0008

// ?0008:

/* 置位和清I/O寄存器位可以用…宏?声明*/

# define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<

# define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<

/* …宏?指令检查I/O单元的单独位*/

#define CHECKBIT((ADDRESS,BIT) (ADDRESS & (1<

/* 用法示例*/

If (CHECHBIT (PORTD,PIND1) ) /* 检查PIND1引脚是否置位*/

{

CLEARBIT(PORTD,PIND1) ; /* 清PIND1引脚*/

}

if (! (CHECKBIT(PORTD,PIND1) ) ) /* 检查PIND1引脚是否已经清零*/

{

SETBIT(PORTD,PIND1); /* 置位PIND1引脚*/

}

访问存储器映射I/O 一些A VR单片机包含一个外部数据存储器接口.这些接口能被用来访问外部RAM,EEPROM(可擦可编程程序存储器),或者被用来访问存储器映射I/O .下面的示例显示了如何声名、写、读存储器映射I/O

#include < io8515.h>

#define reg ( *(char) *) 0x8004 /* 声名一个存储器映射I/O 地址*/

_C_task void main( void )

{

char temp ;

reg = 0x05 ; /* 写值作为存储器映射I/O地址*/

temp = reg ; /* 读存储器映射I/O 地址*/

}

如果访问连续的存储器映射地址.最有效的访问方式是声名一个常量指针然后添加

一个偏移量来完成转移.下面的示例说明了如何按照上述所说来访问存储器映射I/O.每条指令生成的汇编代码以斜体表示.

/* 定义存储器映射地址*/

#define data 0x0003

#define address_hige 0x0002

#define address_low 0x0001

_C_task void main ( void )

{

/* 存储器映射起始地址*/

unsigned char *pointer = (unsigned char *) 0x0800 ;

// LDI R30,LOW(0) ;初始化Z指针

// LDI R31,8

*(pointer + address_low) |= 0x40 ; /* 读出并修改一个地址*/

// LDD R18,Z+1 ; 装载变量

// ORI R18,LOW(64) ; …或?立即数后送回R18

// STD Z+1,R18 ; 存回

*(pointer + address_high) = 0x00 ; /*写入一个地址*/

// STD Z+2,R30 ; 存0

PORTC = *(pointer + data ) ; /* 读一个地址* /

// LDD R16, Z+3 ; 装载变量

// OUT LOW(21) ,R16 ; 输出到端口

}

注意Z指针要在访问存储器之前初始化,同时指令LDD和STD (装载和存储偏移量)被用来访问数

据.LDD和STD都是STD都是单字指令,执行周期为2个时钟.指针只装载一次,存储器映射I/O单元能被声明为局部变量,说明这些变量单元能通过硬件修改,即使通过优化代码行为,访问也不会被移除

访问EEPROM数据A VR内置EEPROM数据能够在普通操作方式下读写.便于IAR编译器读写EEPROM数据的宏指令包含在“ina90.h”头文件中.下面的宏在正常情况下被定义为读写EEPROM:

#define _EEGET(V AR,ADR) /* 从EEPROM的地址ADR中读取数到变量V AR中*/

{

While ( EECR & 0x02 ) ; /* 检查EEPROM是否可以读写*/

EEAR = (ADR) ; /* 写EEPROM地址寄存器*/

EECR |= 0x01 ; /* 设置EEPROM读使能*/

(V AR) = EEDR ; /* 在下一个时钟周期将EEPROM数据读出送入变量V AR中*/ }

# define _EEPUT(ADR,V AL) /* 写V AL变量到EEPROM地址ADR中*/

{

While(EECR & 0x02) /* 检查EEPROM是否可以读写*/

EEAR = (ADR) ; /* 写EEPROM地址寄存器*/

EEDR = (V AL) ; /* 写EEPROM数据寄存器*/

EECR |= 0x04 ; /* 置位EEMWE 表示写使能*/

EECR |= 0x02 ; /* 写入数据*/

}

(译者注:写EEPROM操作步骤如下,等待EEWE为0,把EEPROM地址写到EEAR,数据写到EEDR,置位EEMWE,在置位EEMWE为?1”的4个时钟周期内向EEWE写入…1?表示写完成)

预定义…宏?来完成对EEPROM的读写操作代码如下

# include

# incude

#define EE_ADDRESS 0x010 /* 定义EEPROM地址常量*/

_C_task void main(void)

{

char temp ;

_EEGET(temp,EE_ADDRESS) ; /* 读EEPROM中地址为EE_ADDRESS数据*/

Temp +=UDR ; /* 将UART数据添加到temp变量中*/

_EEPUT (EE_ADDRESS,temp) ; /* 将数据写入到地址为EE_ADDRESS的EEPROM中*/

}

注意如果中断使能,必须在写EEPROM中关闭中断使能位来确保写操作没有超时.如果程序中包含了访问EEPROM而进入中断响应的程序段,在读EEPROM之前必须先关闭中断使能来避免EEPROM地址寄存器的错误.

变量和数据类型

A VR是8位微处理器,16位和32位的变量的使用会被限制在必须使用的地方.下面的示例说明了一个循环记数器分别用8位和16位单元变量的代码量

unsigned char count8 = 5 ; /* 声明一个变量分配一个数值*/

// LDI R16,5 ; 初始化变量

do

{ }while(--count8) ; 减循环计数器

// ?0004: DEC R16 ; 减一

// BRNE ?0004 ; 如果不等则跳转到?0004

unsigned int count16 = 6 ; /* 声明一个变量分配一个数值*/

// LDI R24,LOW(6) ; 初始化低字节

// LDI R25,0 ; 初始化高字节

do

{ }while(--count16) ; 减循环计数器

// ?0004: SBIW R24,LWRD(1) ; 字减立即数

// BRNE ?0004 ; 如果不等则跳转到?0004

变量和代码量

8位变量代码量为6个字节,16位的变量代码量为8字节.

各种变量的有高效使用一个C源程序可以分成许多执行不同功能模块的函数.函数通过参数来接收数据并(将处理结果做为)返回数据.函数内部的声名变量被称为局部变量(local variable),函数外部的声名变量被称位全局变量(global variable).局部变量需要在函数被调用之前被保存的时候,必须声名为静态局部变量.

声明在函数外部的全局变量被分配到静态数据存储器(SRAM)某一单元.静态数据存储器用来保存全局变量而不能做他用.因此造成SRAM单元的浪费.而使用过多的全局变量会使程序代码可读性和修改性降低.

局部变量的优越性在于声明的时候才被分配到寄存器中,在函数调用过程中一直保存直到函数调用结束,or until it is not referenced further.全局变量必须从SRAM中装载到工作寄存器后才能被访问.

下面示例了2者在代码量以及执行速度上的区别.

char global ; /* 全局变量*/

_C_task void main(void)

{

char local ; /* 局部变量*/

global -= 45 ; /* 全局变量减去45 */

// LDS R16,LWRW(global) ; 从SRAM装载全局变量到工作寄存器R16

// SUBI R16,LOW(45) ; 减去立即数

// STS LWRD(global),R16 ; 数据存回到先前调用的SRAM单元

local - = 34 ; /* 局部变量减去45 */

// SUBI R16,LOW(34) ;/* 直接在工作寄存器R16中完成减操作*/

}

注意到LDS和STS双字指令(可直接从SRAM装载)用来访问静态数据存储器中的变量,执行周期都为2

函数被调用开始时,一个静态局部变量被载进一个工作寄存器后会在函数调用结束后存入SRAM单元.因此在函数内部访问变量的次数多于一次的情况下,使用静态局部变量会生成比使用全局变量更加高效的代码.

为了限制全局变量的使用. C语言普遍采用函数调用时通过参数来传递自变量并且调用完成则返回处理结果的方式.工作寄存器R16~R23中最多有2个参数能够同时成为自变量传递进入函数(参数类型可为字符、整型、长整型、单精度、双精度不限).而多于2个参数或是复杂的数据类型(比如数组和结构体)的情况则可放入软件堆栈或是Passed between functions as pointers to SRAM locations (通过指向SRAM单元的功能)

需要采用全局变量的时候,将其合并在合适的造体中.从而使C编译器间接的赋于它们地址.下面的示例说明了全局变量在结构体内外分别生成代码的比较.

typedef struct

{

Char sec ;

}t;

t global /* 声名一个结构全局变量*/

char min ;

_C_task void main(void)

{

t *time = &global ;

// LDI R30,LOW(globle) ; 初始化Z指针低字节

// LDI R31,(global>>8) ; 初始化Z指针高字节

if (++time-> sec = =60)

{

// LDD R16,Z+2 ; 带偏移量载入

// INC R16 ; (R16)←(R16)+1

// STD Z+2,R16 ; 带偏移量存储

// CPI R16,LOW(60) ; (R16)与立即数比较

// BRNE ?0005

}

if ( ++min = =60)

{

// LDS R16,LWRD(min) ;

// INC R16 ; (R16)←(R16)+1

// STS LWRD(min),R16 ; 数据存入SRAM

// CPI R16,LOW(60) ;

// BRNE ?0005 ;

}

}

当访问作为结构体的全局变量时,C编译器自动采用Z指针,并且通过LDD/RD指令(装载和存储偏移量)来访问数据. 当全局变量在结构体外被访问的时候,C编译器通过LDS和STS(装载和存储地址到SRAM)/.

上述代码量并不包括Z指针初始化所需的4个字节代码量,如果结构体包含2个或是更多的成员时,在结构体中使用全局变量将会更加高效.

优化全局标志位

大多数的应用中会需要一些全局标志位来控制程序流向.在A VR中

使用这些置入全局变量中的标志位会比较低效.因为测试之前,这些全局变量将被载入到存储器中.优化这些用来测试的标志位即可以置入指定的寄存器或是放置在一个未使用的I/O单元.

注意: 只有在IAR Complier V2选择设置里,才有完成将全局变量置入指定的寄存器的功能设置.

当某些外围设备没被使用的时候, 未使用的I/O单元同样可以被用来存储全局变量.例如,如果UART没有使用波特率数据寄存器(EEDR)并且EEPROM的地址寄存器(EEAR)也没使用,那么就可以被用来存储全局变量.

I/O存储器的访问非常的有效,地址低于0x1F的I/O口存储器特别适合于位访问.地址高于0x1F的存储器虽然没那么有效率,但还是强于使用全局SRAM变量。

下面的例子说明分别使用SRAM变量,I/O存储器区或是一个指定的寄存器来放置全局标志而生成的代码量

Type struct Bitfield { //Bitfield 结构体

Unsigned char bit0:1;

Unsigned char bit1:1;

Unsigned char bit2:1;

}bitfield;

bitfield global_flag //

global_flag.bit1 = 1 ;

// LDI R30,LOW(global_flag)

// LDI R31,( global_flag >>8)

// LD R16,Z

// ORI R16,0x02

// ST Z,R16

代码量:10字节

注意bitfield不能做为寄存器变量。

_no_init_regvar unsigned char reg_flag@ 15 ; // 全局寄存器R15

reg_flag | = 0x01 ;

// SET

// BLD R15,0

代码量:4字节

新的A VR产品增加了free I/O 寄存器单元优势,从ATmega169,A Tmega48/88/168到ATtiny2313上面的A VR都包含了通用I/O寄存器,都有低于0x1F和高于0x1F limit.这些寄存器可被用来作位任意的free I/O 寄存器.并且能够让你的设计提高性能和减少代码量。

下面示例显示操作单独位时用free I/O单元作为标志变量会比较高效,而使用指定的寄存器频繁地访问变量同样比较有效。注意放置全局变量的锁存器限制了编译器的优化代码效率。在复杂的程序中指定越多的寄存器放置全局变量时,那将会增大代码量。

位域和位屏蔽为了节约宝贵的数据存储单元,有必要将几个单独位标志放入一个字节。这样字节内的各个位标志的普通用法就如同使用(官方指定的)存放状态位的字节一样。在一个字节内,即可以存放位域又可以存放位屏蔽。下面是一个使用位域和位屏蔽而声明的一个状态字节。

/* 指定位的宏,注意到和定义I/O的宏比较类似*/

#define SETBIT(x,y) (x |= (y) ) /* 在X字节中置位y位*/

#define CLEARBIT(x,y) (x &= (~y) ) /* 在X字节中清位y位*/

#define CHECKBIT(x,y) (x & (y) ) /* 在X字节中查位y位*/

/* 定义状态位屏蔽常量*/

#define RETRANS 0x01 /* 位0 :转发标志*/

#define WRITEFLAG 0x02 /* 位1 :可写标志位*/

#define EMPTY 0x04 /* 位2 :缓冲器空闲标志位*/

#define FULL 0x08 /* 位3:缓冲器满标志位*/

_C_task void main ( void )

{

Char status ; /* 声名一个状态字节*/

CLEARBIT(status,RETRANS) ; /* 清转发标志并置可写标志*/

CLEARBIT(status,WRITEFLAG) ;

/* 确保转发标志已被清除*/

If (!(CLEARBIT(status,RETRANS)))

{

SETBIT(status , WRITEFLAG);

}

}

函数内使用声明为局部变量的状态变量,C编译器能有效地处理屏蔽状态位。除此之外也可采用未使用的I/O单元来存储位屏蔽和位域.

位域能被定义在SRAM和I/O单元中.寄存器中的全局变量同样允许简单变量,为方便使用寄存器全局变量中的位指令,使用位屏蔽。

ANSI标准并不定义位域如何封装入字节,在一种编译器中

一个位置入某一个字节的最高位(MSB)而在另一种编译器中,却放置在最低位(LSB).用户自行控制的屏蔽位放置在变量内部。

全局变量的初始化复位后重新启动后的执行代码都初始为全局变量。全局变量如果不初始数值

都被初始为0.

例如:

Unsigned char global_counter = 100 ;

Unsigned int global_flags ; //所有全局变量都被初始化位0

在正常情况下,并不必须在初始程序中初始化全局变量。为得到更高效的代码量,所有的全局变量必须在声名的时候被初始化。也可以把所有变量初始化在一个特定程序中,

这样初始化代码在开启时可被移除.

访问FLASH存储器一个正常定义常量方式:

Const char max = 127 ;

启动时将存储在flash存储器的变量内容复制到SRAM中并一直在剩余程序的执行过

程中保持。这会浪费SRAM空间。为了节约SRAM空间,常量能被存储在flash中

并在需要时载出。

Flash char max = 127 ;

Flash char string[]= “this string is stored in flash “ ;

_C_task void main (void)

{

Char flash *flashpointer ; 声明一个存于flash的指针

Flashpointer = &string[0] ; 分配指针到flash单元

UDR = *flashpointer ; 从flash单元中读取数据送入UART

}

注意:IAR 编译器V2 使用_ _flash代替flash

如后一个例子,存储在flash内的字符串能够被直接地访问或是通过指向flash程序存

储器指针来访问。对于IAR C 编译器来说, 存在专门处理一些字符串的特殊库程序.

细节参见”IAR 编译器使用手册”

中断程序当进入一个中断子程序时,所有中断程序中使用的寄存器单元都被推进堆栈.为了减少代码量以及优化处理速度,中断程序(长度)尽量短而且最好不调用其他函数.原因

是当中断程序访问一个外部的函数时,编译器将把所有寄存器单元堆入堆栈.

函数返回几个值在某些程序里,全局变量被用来返回(函数处理后)的几个数值.就A VR来说,一个函数最多返回4个字节的返回值in the registers.下面示例一些将几个变量并入一个返回

值的技巧.

例如:

Unsigned int read_io(void)

{

Return (PIND<<8 | TCNT0) ; // 功能是返回2个值

}

// IN R17,0x10 //第一个8字节值移进R17

// IN R16,0x32 //第二个值读进寄存器

// RET

来自于调用函数

_C_task void main (void )

{

Unsigned int temp ; // 声明一个临时变量

Temp = sum( ) ; // 从函数中读取返回值

PORTB= temp>>8 ; // 使用高字节

TCNT0 = temp & 00FF ; // 使用低字节

}

// CALL sum // 调用sum函数

// OUT 0x18,R17 // 使用高字节

// OUT 0x32,R16 // 使用低字节

最小的A VR产品含小于256 字节的SRAM,其中tiny存储模式可被用在很多实际情况中.

当使用tiny存储模式时,所有SRAM中的变量以8字节指针代替16字节指针来访问.这样在装载指针数据时可减少代码量.注意到8位指针能寻址160字节的RAM+寄存器文件以及I/O存储器. 为了确信编译器使用到所有的地址空间,链接文件在SRAM顶部配置了RSTACK 和CSTACK.

控制程序流向

主函数主函数一般包含程序的主要循环部分.在大多数程序中,没有其他函数被称为主函数,并且不需要预先设置任何寄存器来进入主函数. 因而只有主函数能被声名为C_task .这样可以减少堆栈空间和代码量.

_C_task void main (void) /* 声名主函数做为C_task */

{

}

注意: IAR 编译器版本V2 使用_C_task 来代替版本中的C_task .

死循环采用for(;;){}的结构将会更加有效率

For ( ; ; )

{

/* 这是一个死循环*/

}

// ?0001 : RJMP ?0001 ; 跳到?0001

Do {}while(表达式) 循环比while{} 和for {表达式1; 表达式2; 表达式3}

通常生成更加高效的代码.下面示例显示了do {} while 循环的生成代码.

Char counter = 100 ; /* 声名一个循环计数变量*/

// LDI R16,100 ; 初始化变量

Do

{

} while( - -counter)

// ?0004: DEC R16 ;自减

// BRNE ?0004 ; 不等则转入分支

预减变量作为循环计数器将会让代码最有效.预减和后增也很高效因为分支程序取决于减后的标志位判断.

宏和函数函数内部集合成少于或等于3~4行的汇编代码在一些程序中用宏处理会更加高效.编译时宏名将会被实际的宏所定义的代码取代.对于非常小型的函数,用各种宏指令代替访问一个函数会使

编译器生成更少的代码和提高程序执行速度.

下面示例说明一个任务用函数的方式和宏的方式执行方法.

_C_task void main ( void )

{

UDR = read_and_convert () ; 读出数据送到UART发送

}

/* 从引脚读数据然后传送到ASCII */

Char read_and_convert( void )

{

Return (PINB+ 0x48 ) ; /* 以ASCII形式返回值*/

}

/* 用宏的方式来做同样的任务*/

#define read_and_convert (PINB+0x48)

The code with function assemble into the following code

Main:

// RCALL read_and_convert ; 访问函数

// OUT LOW(12),R16 ;写到I/O存储器

Read_and_convert:

// IN R16,LOW(22) ; 读I/O 存储器

// SUBI R16,LOW(184) ; 添加48到(R16)

// RET ;

The CODE with macro assemble into this code :

Main:

// IN R16,LOW(22) ;

// SUBI R16,low(184) ;

18种提示来减少代码量:

1.用完整代码优化优化

2.任何恰当的时候采用局部变量

3.如果适合的话,尽量使用最小的数据类型

4.如果一个非局部变量只在一个函数内部被引用,就声名为静态变量

5.将非局部变量合并到一个结构中whenever natural (任何自然的).这增

加了没有指针重载间接地址的可能性.

6.用带偏移量的指针或声明结构体来访问存储器映射I/O口

7.用for ( ; ; ){}来死循环

8.用do{} while (表达式) 如果合适的话

9.用递减循环计数器和预减方式,如果合适的话

10.直接访问I/O存储器(例如不用指针时)

11.如果不从程序中任何地方调用就把主函数声明为C_task

12.用宏代替函数来完成任务在生成时能减少2-3行的汇编代码

13.减少中断向量区的代码量to what is actually needed by the application.

(给实际上需要申请的代码量)

还可以自动连接所有的代码段到一个声明中

14.代码重用is intra-modular模的内部.集合一些功能函数于一个模块内以

便于增加代码使用频度.

15.一些程序中,高速的优化结果源自于更少的代码量而不是完整的代码优

化. Compile on a module by module basis to investigate what give the

best result/ 根据调查什么会给一个最好的结果我们必须在模具上编辑。

16.optimize C_startup to not initialize unused segment (i.e.,IDATA0 or

IDATA1 if all vgariables are tiny or small ) 最优化C 并不会优化没有用

过的片段(如IDATAO 或者IDATAI 如果所有的很少或很小。

17.如果合适的话,避免在中断程序中调用外部函数

18.使用最小的possible存储模式

5种提示来减少RAM的需求

1.所有的常量和字母应该放置在FLASH中通过使用FLASH 关键字

2.避免使用全局变量如果the variables are local in nature变量在自然界

中是局部的。变量.这也节约了代码空间.局部变量能够动态的从堆栈

中分派出来并且在函数结束使用时被释放.

3.if using large functions with variable with a limited lifetime within

the function, the use of subscopes can be beneficial 如果在有限的时间

里利用变量大的功能,SUBSCOPE 的利用将会受益。

4.获得软件堆栈代码量good estimate (好的评估)并且返回堆栈(连

接器文件)

5.不要把空间浪费在IDATA0 和UDATA0 段除非你使用tiny变量(连

接器文件)

科技翻译

科技英语翻译的理解与表达 随着世界科技发展的日新月异和我国对外科技交流的日益频繁,科技翻译的重要性越发凸显出来。科技翻译要求确切理解和掌握原文的内容,不能主观地发挥个人的想法和推测,做到科学性和艺术性的完美结合。其科学性和艺术性主要体现为“信、达、雅”的翻译标准。 下面就英语科技翻译的科学性和艺术性,以及翻译的三个标准,讨论科技英语翻译的理解与表达。 一、科技翻译的科学性 科技英语的翻译由于其文体的特殊性,首先就要求它的译文要求忠于原文,它的文字表达不需要过于华丽的辞藻,语句直截了当,词意简单明了。而做到这些就需要译者准确理解原文,包括掌握常用词汇的专业化和语句中词汇翻译的灵活性等。 例1:Applications and incomes become the carrier’s focus of attention. Personalized service has present itself as the high mode service. carrier:n.[化学]载体;运送者;带菌者;货架。这些是“carrier”的常用词意,但是在科技英语翻译中,它更常用其专业释义。 这句句子中的“carrier”如果用常用的几个词意带入,很快就会发现句

子是不通顺的,根据前后文则可以猜测它的词意应该与经济体有关。实际上,这里“carrier”是“运营商”的意思。 译文:运营商的关注焦点已从技术转向了应用、服务和收益。作为信息服务的高级形态,个性化服务开始逐步走上了前台。 例2:Ozone pollution is a concern during the summer months because strong sunlight and hot weather result in harmful ozone concentrations in the air we breathe. concern:vt.涉及,关系到;使担心。n.关系;关心;关心的事。这些是“carrier”的常用词意。 译文1:因为强烈的阳光和炎热的天气会导致有害臭氧集中在我们呼吸的空气中,所以在夏季,臭氧污染是一个关注点。 显然把“concern”翻译为“关注点”并不适合在这一句的翻译中,因此我们可以对词意进行灵活的变动。 译文2:受强光和炎热天气影响,有害臭氧在空气中大量聚集,因而在夏季,臭氧污染是一个尤为突出的问题。 二、科技翻译的艺术性 科技翻译的前提是忠实于原文,这不意味着呆板、毫不变通的文字的堆砌。科技翻译需要创造性的技巧运用,所以,可以说,翻译是一种再创造。 It is fortunate that men have worked out new plane shapes which enable

科技阅读翻译第一单元

第一单元环境 大规模研究发现:地球的“健康”每况愈下有史以来对地球进行的最大规模的科学分析表明,地球上的许多生态系统都达不到标准。 由联合国主持的《千年生态系统评估综合报告》指出,由于不可持续的使用,地球上将近三分之二的用来维持生命的生态系统已经遭到破坏,其中包括干净的水源、纯净的空气,以及稳定的气候。 以上大部分的破坏都是人类在过去的半个世纪里造成的。据报告分析,随着人类对食物、淡水、木材、纤维以及燃料等资源的需求日趋激增,环境发生了极大的变化,引发了诸如滥伐森林、化学污染等问题。因此,该报告的作者警告说,照此下去,本已岌岌可危的生态环境将会在21世纪的上半叶急剧恶化。 这项历史性的研究由来自世界95个国家的政府部门以及民间组织的1,300多位科学家共同完成。四年来,他们考察了地球上许多生物的生长环境、物种以及将他们联系起来的生态体系。联合国环境规划署对该报告进行了编辑整理并于昨天在中国北京公布了研究结果。 在公布该报告的新闻发布会上,联合国秘书长科菲·安南指出:“只有了解环境及其运作过程,我们才能制定出必要的决策加以保护。”他还说,“只有珍惜所有宝贵的自然资源和人类资源,我们才有希望去建设一个可持续发展的未来。” 对社会经济的影响 该报告对自然界的大部分生物多样性持悲观态度,地球上可能有10%—30%的哺乳动物,鸟类以及两栖动物濒临灭绝。 这次大规模生态调查是根据安南的《千年发展目标》展开的,该发展目标是由联合国发起的,旨在2015年之前大幅度缓解饥饿与极度贫困等社会经济问题。 总部位于内罗毕的联合国环境规划署执行主席克劳斯·托普弗说:“从某些方面来说,《千年生态系统评估综合报告》让我们首次认识到生态系统服务功能的经济价值,并使我们对尊重和保护地球生命维护系统有了新的见解。” 目前由于人类社会对地球环境的开发利用,食物供应不断增加,然而增长的速度仍然太慢,难以完成联合国制定的在2015年前消除全球一半饥饿的目标。 报告还说,过度使用生态系统的负面影响还包括渔业的衰退,含有大量沉积物的河口周围近海“死亡区”的出现,水质的变化以及不可预测的区域性气候等。 此外,森林的滥伐和其他生态系统的巨大改变也加剧了诸如疟疾、霍乱等疾病的传播,并使已有传染病分化出新的类别。 根据该报告,水资源体系的变化会增加毁灭性洪灾的爆发频率和程度。在20世纪90年代,洪灾造成的死亡人数超过10万,损失约2,430亿美元。

科技翻译

全球智能纺织品发展综述 在过去的几年里,智能材料在我们的生活中起着十分巨大的作用。智能材料的潜力非常广泛,也已经走进了纺织品中,德国Niederrien 大学的U.R.B.Sastry总结了近一阶段以来智能纺织品的主要发展情况。 近几年来,智能材料以其自身独特的方式融入到纺织品中。智能材料的出现激起了材料科学、电学和计算机工程的研究者们的极大兴趣,同时感兴趣的还有产品设计者和纺织品生产者。智能材料从概念产生到产品开发的过程包括了从不同领域、不同背景来的人员,也包括了使用者他们自己。 最早的智能纺织品之一是被用于部队伪装的。在部队伪装这个应用中,纺织品大多用来伪装战场上的军车、军用设备和个人装备,避免被3种电磁辐射(可见光、红外线和雷达)的探测。另外,这种纺织品在设计中要求必须防火、耐穿着、高强度和容易生产。 雷达吸收结构通常是由带有氧化铁或碳涂层的伞面金字塔状的泡沫材料组成,通常它会与一定数量的银结合,可以调整雷达的目标有效截面。同时,针织物中的经编织物的红外特性通过使用带有可见的印花和图案的、低发射率涂层来控制,它被设计成迷彩效果。 1 21世纪的服装 进入21世纪以来,对于服装设计的要求不断向重量轻、容易携带的方向发展,什么是将智能材料融入到纺织品中的更好方法呢?比如说:总部设在布鲁塞尔的Starlab 发明了一种带有传感器的田径服用来监视穿着者的心脏变化情况,从运动员刚一出发开始,数据便通过电子信箱的方式,即服装所具备的移动电话功能进行信息传输。更进一步的例子,德国的Infineon Technologies 生产出了第一件可穿着的MP3音乐运动服装,这种音乐运动服的袖子里带有键盘。基于这些发明,真正的可穿着计算机服装似乎是可能实现的,但是,在这里我们不能忽视将会出现的问题。比如,服装的耐用性和洗涤效果——与日常服装相关的因素必须加以考虑,如果制造商想要使用可穿着这个术语作为智能材料纺织品的标注,就必须充分符合其真实

科学美国人的中文翻译

2012年1月4日星期三 雌激素是新的“利他林”吗? ——性激素能让一部分女性思维敏捷,却也让一部分迟钝 大考即将来临?无法集中注意力?尝试一点雌激素吧。 加州大学伯克利分校的神经系统科学家在最近的一项研究中报道称,女性生理周期中的荷尔蒙波动可能会如咖啡因、甲基苯丙胺或最常见的兴奋剂利他林一样影响其大脑。 近年来的研究表明,工作记忆(短期信息处理能力)是依赖于化学物质多巴胺的。事实上,像利他林这样的药物可以模仿多巴胺帮助人们集中注意力。在老鼠身上的研究显示,雌激素似乎可以诱发多巴胺的释放。但是伯克利这次的新研究是首次把认识能力和人的雌激素水平联系起来,这也就解释了为什么有些女性会在她们生理周期的不同时间点有着或好或坏的认识能力。 这只研究团队对24名健康女性进行了检测。通过基因测试,她们中有些天然多巴胺水平高,而有些天然低。不出所料,多巴胺水平低的女性对于处理复杂的工作记忆问题有困难,比如将一串五个数字反着背出来。但当测试在排卵期中进行,雌激素水平最高时(一般是月经期的10~12天后)这些女性的表现显著改善,有大约10%的进步。令人惊讶的是,多巴胺水平天然高的女性处理复杂问题的能力,却在排卵期中雌激素水平最高的时候有很明显的下降。 根据组织此次研究的Ph.D Emily Jacobs说,脑中的多巴胺是“classic Goldilacks scenario”。对于多巴胺水平最低的25%女性来说,在月经期多巴胺水平的增加会增强她们的认识能力,而对于多巴胺水平最高的25%女性来说,月经期多巴胺水平的增加可能会使她们的多巴胺水平超过一个上限,从而减弱她们的认识能力。而剩下的50%女性都处在这两类女性水平之间,不在研究的范围内。 这项研究有着重大的意义。Jacob说,像咖啡因、利他林这种诱发多巴胺释放的药物对于特定时期的女性是无效,甚至是损害性的。而且,她还希望提醒科学家们注意,在研究脑部疾病时,男女大脑虽然天赋相同但是并不完全一样。 Jacob说,这之间有很大区别,只有我们能知道他们在正常状态下的区别,我们才能预测他们在疾病状态下的区别。 毁约——脑扫描揭示誓言什么时候会不被遵守 新郎说“我愿意”而又和别人有一腿的时候,他脑中发生了什么?朋友承诺还钱却一直不还,他的脑中又发生了什么?一项最新研究显示,毁约是一项很复杂的神经生物学事件。而且脑扫描可以在毁约发生前预测出谁将要毁约。 瑞士苏黎世大学的科学家运用核磁共振技术把大脑比喻成了一场投资游戏。投资者必须决定是否承诺与受托者分享利益。如果投资,会使得账户中的资金增加,但如果受托者选择不分享,结果也会是投资者受损失。几乎所有投资者都说会把钱给受托者,但最后并不会所有人都守约。 通过核磁共振的扫描,研究者可以在他们有机会毁约前预测出他们会不会毁约。毁约者脑部的一些区域的活动会更加活跃,包括分管在压抑诚实回应时自我控制的前额皮质层,和标志

小议科技英语翻译技巧

小议科技英语翻译技巧 科技文体崇尚严谨周密,概念准确,逻辑性强,行文简练,重点突出,句式严整,少有变化,常用前置性陈述,即在句中将主要信息尽量前置,通过主语传递主要信息。科技文章文体的特点是:清晰、准确、精练、严密。那末,科技文章的语言结构特色在翻译过程中如何处理,这是进行英汉科技翻译时需要探讨的问题。现分述如下: 一、大量使用名词化结构 大量使用名词化结构(Nominalization)是科技英语的特点之一。因为科技文体要求行文简洁、表达客观、内容确切、信息量大、强调存在的事实。而非某一行为。 Archimedes first discovered the principle of displacement of water by solid bodies. 阿基米德最先发展固体排水的原理。 句中of displacement of water by solid bodies 系名词化结构,一方面简化了同位语从句,另一方强调displacement 这一事实。 The rotation of the earth on its own axis causes the change from day to night. 地球绕轴自转,引起昼夜的变化。 名词化结构the rotation of the earth on its own axis 使复合句简化成简单句,而且使表达的概念更加确切严密。 If you use firebricks round the walls of the boiler, the heat loss, can be considerably reduced. 炉壁采用耐火砖可大大降低热耗。 科技英语所表述的是客观规律,因之要尽量避免使用第一、二人称;此外,要使主要的信息置于句首。 Television is the transmission and reception of images of moving objects by radio waves. 电视通过无线电波发射和接受活动物体的图象。 名词化结构the transmission and reception of images of moving objects by radio waves 强调客观事实,而"谓语动词则着重其发射和接受的能力。 二、广泛使用被动语句 根据英国利兹大学John Swales 的统计,科技英语中的谓语至少三分之一是被动态。这是因为科技文章侧重叙事推理,强调客观准确。第一、二人称使用过多,会造成主观臆断的印象。因此尽量使用第三人称叙述,采用被动语态,例如:Attention must be paid to the working temperature of the machine.应当注意机器的工作温度。而很少说:You must pay attention to the working temperature of the machine .你们必须注意机器的工作温度。此外,如前所述,科技文章将主要信息前置,放在主语部份。这也是广泛使用被动态的主要原因。试观察并比较下列两段短文的主语。 We can store electrical energy in two metal plates separated by an insulating medium. We call such a device a capacitor, or a condenser, and its ability to store electrical energy capacitance .It is measured in farads. 电能可储存在由一绝缘介质隔开的两块金属极板内。这样的装置称之为电容器,

上市公司重大资产重组管理办法 中英文

上市公司重大资产重组管理办法 Measures for the Administration of Material Asset Reorganization of Listed Companies 颁布机关:中国证券监督管理委员会 Promulgating Institution: China Securities Regulatory Commission 文号:中国证券监督管理委员会令第109号 Document Number: Order No.109 of the China Securities Regulatory Commission 颁布时间: Promulgating Date: 10/23/2014 10/23/2014 实施时间: Effective Date: 11/23/2014 11/23/2014 效力状态: Validity Status: 有效 Valid 第一章总则 Chapter 1: General Provisions 第一条为了规范上市公司重大资产重组行为,保护上市公司和投资者的合法权益,促进上市公司质量不断提高,维护证券市场秩序和社会公共利益,根据《公司法》、《证券法》等法律、行政法规的规定,制定本办法。 Article 1 These Measures are formulated pursuant to the provisions of the Company Law, the Securities Law and other relevant laws and administrative regulations, for the purposes of regulating material asset reorganization of listed companies, protecting the lawful rights and interests of listed companies and investors, and promoting the constant improvement of the quality of listed companies, and maintaining the order of the securities market and the social public interests. 第二条本办法适用于上市公司及其控股或者控制的公司在日常经营活动之外购买、出售资产或者通过其他方式进行资产交易达到规定的比例,导致上市公司的主营业务、资产、收入发生重大变化的资产交易行为(以下简称重大资产重组)。 Article 2 These Measures shall be applicable to asset trading behaviors, other than the daily business activities, conducted by a listed company or companies held or controlled by it, such as the purchase and sale of assets, or asset trading by other means that reach a specified proportion, thereby causing major changes to the main business, assets, or income of that listed company (hereinafter, "material asset reorganization"). 上市公司发行股份购买资产应当符合本办法的规定。 Purchase of assets by a listed company by means of issuing shares shall be in compliance with the provisions of these Measures.

科学翻译

第12页 0903060136 梁潇 0903060137 黄浩 0901014108 黄瑞尧 5.3性能分析 通信开销:在和平时期,验证和密钥协商协议的要求只有三路之间的网状路由器和网络用户和双向沟通网络用户之间。这是最低的通信回合要实现相互认证,因此,和平招致降低认证延迟。此外,通过设计,和平带来最低的额外因为它们可能对网络用户的通信开销如掌上电脑和智能手机进行的移动客户端比其他笔记本电脑访问无线网状网。这些移动客户端要少得多强大相比,网状路由器考虑到他们的沟通能力。在消息(M.1),(M.1),(M.2),网络用户只需要发送一组签名履行认证功能。作为我们立足本集团上签字的变化计划[8]中提出,签名的包括两个G的元素五个元素的Z带够。当使用[19]中描述的曲线,可以首要采取p到170位并使用G组1,其中每个元素是171位。因此,总群签名的长度为1192位或149字节。有了这些参数,安全性是大致相同作为一个标准的1024位RSA签名,这是128个字节[8]。也就是说,群签名的长度几乎是作为一个标准的RSA-1024的签名相同。 计算开销:在和平,最昂贵的计算操作的签名生成和验证。签名生成需要两个同构的应用中。同构计算,需要大约同时,作为一个在G1幂(使用快速计算的轨迹图)[8]。因此,签名生成需要约八幂(或multiexponentiations)和两个双线性映射计算。验证签名需要六个幂和3+2|网址|双线性映射计算。按照设计,和平采用会话认证的不对称对称的混合方法,降低计算成本。网络实体(Mesh 路由器和网络用户)执行昂贵的组签名操作相互验证,只有当建立一个新的会话,所有同一会话的后续数据交换是通过高效的基于MAC的方法进行验证。 更具体地说,和平需要进行相互认证,为建立一个新的会话时,执行一个签名生成和签名验证的网络用户。由此可以看出,签名验证的实际成本计算取决于一致资源定址器的大小,而签名的发电成本是固定的。和平可以主动控制的一致资源定址器的大小。此外,可以采取一种更为有效的吊销检查算法,其运行的时间是一致资源定址器的独立[8]中描述了对用户的隐私有点牺牲。这种技术可以进一步带来的总成本六幂和5个双线性映射计算的签名验证。另一方面,和平需要一个网状路由器进行相互认证其覆盖范围内的每个网络用户每每灯塔消息不同的会议和标志定期播出。 存储开销:在和平中,网络用户可以携带资源约束的普及设备,如掌上电脑和智能手机访问的无线网状网。因此,存储每个网络用户的开销应该是负担得起的现代普及设备。在我们的计划显示说明,在和平中的每个网络用户需要存储两个信息:他的小组的私钥及相关系统参数。该组的私钥为每个用户包含1组元素的G1和2个Z元素。如果我们首要选择p到170位,并使用G组1每个组171位的元素,每个组私钥用户只需消耗511位的内存,这是微不足道的现代普及设备。大多数的内存消耗部分是系统参数,其中可能包括代码来形容双线性组(G

对翻译的科学性和艺术性的思考

对翻译的科学性和艺术性的思考 关键词: 翻译;科学性;艺术性 摘要: 翻译是科学还是艺术历来是译学家们争论的焦点。西方译学家奈达博士在60 年代曾有过建立翻译科学的设想,试图用语言学的理论和方法来说明翻译问题,但未能取得成功。而后,到了90 年代他则断言:翻译不是科学,而是艺术。笔者就奈达博士由科学论向艺术论的转变,对翻译的性质进行了理性思考:翻译中对“忠实”目标的追求体现了翻译的科学精神,而为实现“忠实”又离不开艺术创造,因此科学性和艺术性贯穿于翻译活动的全过程,二者互为补充,缺一不可。 Philosophic Thinking of the Science and the Art of Translating ———on Nida’s“Toward a Science of Translating” ZHANG Rui - qing1 ,ZHANG Hui - qing2 (1. The School of Foreigh L anguages , S hanxi University , Taiyuan , China ; 2. English Department , Northern China Engineering Institute , Taiyuan , China) Key words : t ranslation ;science ;art ;faithfulness. Abstract : What is t ranslating ? Is it science or art ? This has long been one of the focal cont roversies among t ranslatologist s. Dr. Eugene A. Nida attempted to establish a science of t ranslating by applying linguistic theories and approaches to t ranslating problems in the 1960s ,but failed. In the 1990s he claimed conversely that t ranslating was not science ,but skills. His shift prompt s the author of this essay to draw the couclusion that ,in the process of t ranslating ,the pursuit of faithfulness to the original reveals the scientific approach of t ranslators ,but to attain faithfulness , artistic creation plays an immeasurable role in good t ranslations. “翻译科学”是一门“研究翻译的科学”。怎样才能构成科学? 首先必须要有客观规律正如金堤先生所说:“艺术与科学之争的焦点是一个实质性的问题。翻译这一活动究竟是否受客观规律的支配? 如果受客观规律的支配,那么既然我们现在还没有完全认识这些规律,我们就必须用科学的方法加以研究,而如果这一活动主要靠独创,谈不到什么规律,那么我们只能把它当作一门艺术。”因此,翻译是科学还是艺术关键就在于其是否具有客观规律。我们在翻译活动中没有探索到客观规律之前,是无法断定翻译是科学的。西方译论家并没有主张建立“翻译科学” ,在他们的译论中,也不用“翻译科学”一词。在西方大学课程中,只有“翻译理论” ,或“翻译研究”,或“翻译学”。唯一用过“翻译科学”一词的,只有奈达博士。60年代,他在“Toward a Science of Translating”一书中指出,翻译是科学也是艺术,并试图用乔姆斯基的转换生成语法的原理,通过深层结构的分析,探索语际转换的客观规律,从而建立翻译科学。但这一尝试未能取得成功,语际转换的规律也未能找到。此后,他在1991 年发表的《翻译:可能与不可能》一文中说,我们不能使翻译成为一门科学,出色的翻译是创造性的艺术。可见奈达由科学派转向了艺术派,并从此放弃了建立翻译科学的设想。1998 年,他在答《外国语》记者问时,又重申了这一论点,认为翻译不可能成为科学。 一翻译科学论的困惑 寻求支配翻译活动的客观规律是历代译学家们孜孜以求的奋斗目标,困扰了几代译学家。只有到了现代,有了现代语言学的基础,才有可能打出翻译科学论的旗号,将侧重点放在科学的基点上。然而,,奈达为何一度认为翻译是科学也是艺术,而后来又说翻译不是科学只是艺术呢?翻译的科学论之所以陷入矛盾,其根源在于翻译对象所涉及的媒介———语言———本身所具有的特性———任意性特征。这种特性决定了科学无法完成其使命,因而即使很不情愿也不得不转而求助于艺术。首先,大多数人已经接受的一个事实是:虽然科学力图把文本语言中的意义一点一滴地落实,但语言却总是拒绝把它的全部意义交出来。事实上,现代批评

《科技英语翻译》第3章 翻译练习参考译文

第3章名词和冠词的翻译 第1节名词的翻译 第1节翻译练习1 一个不寻常的用途是:这个机构使用指纹扫描器监视居住人员的进出。 当含有电感的电路突然断开时,可用电容器消除火花。 第1节翻译练习2 比较结果表明,误差是由于名称不同而造成的。(抽象名词comparison后增译名词“结果”)扫描结果证实,受试者的大脑处理词的方式同一种古老的旧观念不一致。(抽象名词scan后增译名词“结果”) 对放射性同位素的最新研究结果表明,这种设想是完全错误的。(抽象名词research后增译名词“结果”) 各种金属放出电子和参与化学反应的难度程度不一。(抽象名词easy后增译名词“程度”)内蹄式鼓形制动器的防水、防尘性能比较好。(抽象名词protection后增译名词“性能”) 地球上的人们受到包围着地球并能吸收辐射的一层臭氧层的保护,从而免受危险的太阳紫外线辐射的伤害。(具体名词radiation后增译名词“伤害”) 根据分子理论的原理,物体的温度取决于其分子的平均速度。(抽象名词theory后增译名词“原理”) 温度控制的效果取决于润滑剂的用量、环境温度以及外部的冷却设施。(具体名词cooling 后增译名词“设施”) 第1节翻译练习3 要特别注意软管,保证没有擦伤。(动词派生的名词attention转译为动词) 电工学主要关注的是通过输送能量做功的情况。(名词concern转译为动词) 窃取基因不是新鲜事。(名词piracy转译为动词) 所有的动植物均需要碳才能生长。(名词growth转译为动词) 第1节翻译练习4 这个试验是成功的。(名词success转译为形容词) 半导体在电子设备中能起各种各样的控制作用。(表示数量概念的名词短语a variety of 转译为形容词) 第2节冠词的译法 第2节翻译练习1 聚合物是一种高分子的物质。

科技文体翻译(第二版)

常用文体翻译 科技翻译 Internet最初的中译名多达十几种,分为音译和意译两种。其中意译名主要在“国际”、“全球”、“电脑”、“计算机”、“资讯”、“交互”、“互联”、“网路”……这些词语的范围内加以选取和组配,多则9个汉字,少则3个汉字,但无论如何选配均有其不足之处。因为Internet是指由美国国防部ARPA 网演变而来的采用TCP/IP协议的一种互联网,是多种互联网中的一种。因此Internet为专指性专有名词,而internet为泛指性普通名词,泛指各种互联的计算机网络。所以将Internet翻译为上述泛指性译名是不妥的。音译主要有“英特网”和“因特网”两种。“英特网”本可继续采用,但按照新华社的外国人名、地名音译标准in为“因”,ing为“英”;此外,不采用“英特网”的另一个主要原因是为了避免与英特尔公司的“英特网”相混淆。全国科学技术名词审定委员会经过长期的审议于1997年7 月发布了推荐名“因特网”。(吴同,1998) 科技文体的范畴 科技英语(English for science and technology)现在已经成为一种独立的文体。其具体内容包括:“一、科技著述、科技论文和报告、实验报告和方案;二、各类科技情报和文字资料;三、科技实用手册; 四、有关科技问题的会谈、会议、交谈的用语;五、有关科技的影片、录像等有声资料的解说词; 六、科技发明、发现的报道;七、科学幻想小说等。” 科技英语的特点 ◆任何作品均有其特定的文体,原文文体不同,翻译方法也随之而异。科技英语亦不例外。因此,要做好该类文体的翻译实践,就必须了解科技英语的特点。试比较下面两个例子的文体特点: ◆例1 "It appears that you've got the offer of a very good job." "A wonderful job." "Are you going to take it?" "I don't think so." "Why not?' "I don't want to." “听说有个很好的工作要你去干。” “挺好的工作”。 “打算干吗?” “不。” “为什么不干?” “不想干”。 ---摘自《刀锋》(The Razor's Edge ) She was of a helpless, fleshy build, with a frank, open countenance and an innocent, diffident manner. Her eyes were large and patient, and in them dwelt such a shadow of distress as only those who have looked sympathetically into the countenances of the distraught and helpless poor know anything about. (from Jennie Gerhardt) 那妇人生着一副绵软多肉的体格,一张坦率开诚的面容,一种天真羞怯的神气。一双大落落的柔顺眼睛,里边隐藏着无穷的心事,只有那些对于凄惶无告的穷苦人面目作过同情观察的人才看得出来。 ---摘自《珍妮姑娘》(Jennie Gerhardt),傅东华译. 上面51个词的片断,就运用了10个形容词,占五分之一。and in them dwelt such a shadow of distress 是非常优美生动的文学语言,译文保持了这一风格。 腹有诗书气自华

企业重组【外文翻译】

外文翻译 Corporate Restructuring Material Source:https://www.doczj.com/doc/8f5537607.html, Author:Giuliano Iannotta The Holdout Problem When claimants are unable to find an agreement, they might not approve the restructuring plan, even when this will produce a sub-optimal outcome, such as a liquidation (which will waste the value of the firm “as a going concern”) or a formal bankruptcy procedure (which is more expensive and possibly leads to inferior result for creditors): this is the holdout problem. The likelihood of approval of the restructuring plan will depend on several factors, such as the number and sophistication of the claimants, the relative cost of the plan relative to other solutions, etc. For example, in the presence of many small bondholders it might be very difficult to get the restructuring plan approved, as some of them might believe they will be better off not approving the proposed plan. In other terms, when there is public debt (i.e., bonds) outstanding the holdout problem can be particularly severe. Scale down, maturity extension, or debt-for-equity swap might be very difficult if every bondholder has to agree to the term changes. Consider for example an exchange offer where outstanding debt is exchanged with equity (debt-for-equity swap): in other words, creditors take over the distressed firm. In such a situation, the bondholders who do not tender might benefit at the expense of those who do. Suppose the firm’s asset value is $100, with public debt outstanding for$120 (10 bondholders, each holding one bond with face value $12). The firm’s asset liquidation value is only$80: there is therefore an incentive to keep the firm doing business. Suppose the exchange offer is contingent on achieving a 50% tendering rate. If all bondholders tender, the firm will have the balance sheet reported in Table 10.1. The value to each bondholder will be $10, with a loss of $2: under liquidation each bondholders would receive just $8. Now suppose that only five bondholders tender: the exchange offer would succeed, but the five “holdout” bondholders will be better off. Indeed, the balance sheet of the firm would be that reported in Table 10.2.

经典翻译段落(一)科学对人体节奏有新发现

经典翻译段落(一) 科学对人体节奏有新发现 你有没有患过时差综合症,即由于长时间坐喷气飞机环球飞行跨越过很多时区而感到疲倦和沮丧?你有没有像北欧国家的很多人一样患过冬季忧郁症,即由于在阴郁的12月和1月老是看到冬日阴沉灰暗的天空而感到郁闷?也许一点点光就能解决你的问题——而且只需要照射你皮肤上一小块地方。实际上,美国科学家已竭尽全力进行研究——用光照射受试者的膝盖后部,试验光在提神方面的作用。 对付时差综合症和冬季忧郁症的东西可能是荷尔蒙褪黑激素。已知荷尔蒙褪黑激素能调节人体节奏。它于夜幕降临时分泌,可用于帮助治疗时差综合症和睡眠紊乱。冬天光线昏暗、白昼时间短,人们褪黑激素分泌较少,据说这就是许多人在天气昏暗时普遍有这种感觉(即冬季忧郁)的原因。 许多年来,专家们一直在试验用光治疗时差综合症和季节性情绪失调(“冬季忧郁证”)。他们建议患者坐在模仿太阳光自然波长的灯光前,以恢复褪黑激素。1996年,哈佛大学医学院的戴安娜·波文及其同事发现即使是昏暗的台灯也可以起到同样的作用。 动物和人接触光都会引起体内复杂的反应。纽约一个大学的研究小组说他们发现光照射在皮肤上会重新调整体内的生物钟。他们选择了胭窝做试验是因为那儿容易接触到而且远离眼睛,许多科学家认为那个部位决定着人体节奏的周期。 Scientists Shed New Light On The Body's Rhythms Have you ever suffered from jet-lag, the fatigue and depression that comes from long hours spent in a jet aircraft traveling across the world over many time zones? Or like many people in northern European countries, have you ever suffered the dark depression of winter blues, the feelings of gloom that comes from facing the somber December and January winter days under dark, cloudy skies? Maybe all you need is a little light -- and merely on a small patch of your skin. In fact, in experiments investigating the effect of light in raising our spirits, American scientists have done all their research using light played on the back of the subjects' knees. What could be a key to jet-lag and winter blues is the hormone melatonin, which is known to regulate body rhythms. It is secreted as night falls and it can be used to help to overcome jet-lag and some sleep disorders. The low level of melatonin we experience in winter when light is dull and daylight hours are shorter is said to be cause of that common feeling many people get in dull weather -- winter depression. For years experts have experimented with treating jet-lag and seasonal affective disorder ("winter depression") with light. They

科技英语翻译

形合和意合 1.昨天看电影我没有买到好票。 I did not buy good seat for movie last day. 2.这个车间既做来料加工,又做来样加工。 This workshop processes raw material on client’s demand and processes according to investor’s sample as well. 3.她在中国留学服务中心工作。 She works at Chinese service center for Scholarly Exchange. 4.烤烟,苹果,羊毛和甘薯是延安的四大农产品,年产量3.12亿元,占农业总产值的52.5%。 Cured tobacco, apples, wool and sweet potatoes are the four main agricultural products in Yan’an, their output values at 312 million yuan RMB, according for 5.2% of its total agricultural output values. 5.可以预言,钛材在飞机或各种飞行器上的应用将会与日俱增,并且在其他工业中的应用也会扩大。 It can be prophesied that titanium materials will be used increasing in aerospace and in other industries. 6.If rise of blood pressure occurs with some other disease, it is called secondary hypertension. 某种与其他疾病伴发的高血压,称为继发性高血压 7.Change of information, if any, concerning the contents of this section will be found in the appendix at the end of this book. 本节内容如有更改,均见本书末附录。 8.一种微生物能够破坏另一种微生物,这种现象最早是巴斯德发现的,他指出这可以用到医疗上去。 That a microganism is capable of destroying one of anther species was first discovered by Pasteur, who pointed out that can be used to the therapeutic use. 英汉句子中心的差异 1.他们培育出的细胞看上去像胚胎干细胞,这的确令人惊讶。 It’s truly amazing that they can produce cells that look like embryoric stem cells. 2.1968年12月阿波罗8号宇宙飞船上那些想家的宇航员们在太空拍下了整个地球的彩照,此后在1970年4月很快就出现了第一个地球日,这绝非是历史的偶然。 It’s no accident of history that the first Earth Day in April 1970 came so soon after the color photograghs of the whole earth from space were made by homesick astronauts on the Apollo 8 mission to the moon December 1968. 3.你们已经取得了进步,对此我毫不怀疑。 There has been no doubt in my mind of the progress which you have achieved. 4.由于贵国政府的提议,才得以这样快的重新实现访问,这使我感到特别高兴。 I was all the more delighted when as a result of the initiative of your government, it proved possible to reinstate the visit so quickly. 5.由于现代世界的发展和近年来在单门学科狭窄前沿上的研究进展,出现一些极其复杂的难题,单凭一两人的力量是无法对它们进行透彻研究的。 One cannot properly investigate the incredibly complex problems thrown up by the modern world and by recent development in our knowledge along the narrow front of a single discipline. 6.这种小型热带鱼由于具有自行修复受损和患病的眼部细胞的独特能力,长期以来一直为科学家所关注。The tiny tropical fish has long interested scientists because of its unique ability to repair damaged and diseased cells in their own eyes. 7.不努力就不会成功。 One can never succeed without making great efforts.

相关主题
文本预览
相关文档 最新文档